什么是Mybatis
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)。
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
2011年6月iBatis 更名為 MyBatis,從 iBatis 到 MyBatis,不只是名稱上的變化,MyBatis 提供了更為強(qiáng)大的功能,同時并沒有損失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性進(jìn)行了簡化。所以你懂的,開始學(xué)習(xí)就從MyBatis吧。
例子使用MyBatis+MySQL實現(xiàn)一個用戶表的查詢,如下:
1、數(shù)據(jù)庫
在MySQL中,test數(shù)據(jù)庫下,簡歷user表,字段:id,name,password,建表語句略。
2、需導(dǎo)入的包
只有兩個: mybatis-3.0.3.jar mysql-connector-java-5.1.16-bin.jar(JDBC包)
3、目錄結(jié)構(gòu)
采用最簡單的結(jié)構(gòu),com.mybatis包下有且僅有四個文件:configuration.xml、user.xml、User.java、Test.java 。
4、mybatis配置文件configuration.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <typeAliases> <typeAlias alias= "User" type= "com.mybatis.User" ></typeAlias> </typeAliases> <environments default = "development" > <environment id= "development" > <transactionManager type= "JDBC" ></transactionManager> <dataSource type= "POOLED" > <property name= "driver" value= "com.mysql.jdbc.Driver" /> <property name= "url" value= "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" /> <property name= "username" value= "root" /> <property name= "password" value= "123456" /> </dataSource> </environment> </environments> <mappers> <mapper resource= "user.xml" /> </mappers> </configuration> |
5、User表sql文件User.xml
1
2
3
4
5
6
7
8
9
10
|
<?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace= "User" > <select id= "selectUser" parameterType= "int" resultType= "User" > SELECT * FROM user WHERE id = #{id} </select> <select id= "selectUsers" resultType= "User" > SELECT * FROM user </select> </mapper> |
6、表結(jié)構(gòu)文件User.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.mybatis; public class User { private int id; private String name; private String password; public User(){} public User( int id, String name) { this .id = id; this .name = name; } public int getId() { return this .id; } public void setId( int id) { this .id = id; } public String getName() { return this .name; } public void setName(String name) { this .name = name; } public String getPassword() { return this .password; } public void setPassword(String password) { this .password = password; } @Override public String toString() { return "User [id=" + this .id + ", name=" + this .name + ", password=" + this .password + "]" ; } } |
7、測試用例Test.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package com.mybatis; import java.io.IOException; import java.io.Reader; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Test { public static void main(String[] args) throws IOException { String resource = "configuration.xml" ; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader); SqlSession session = ssf.openSession(); try { User user = session.selectOne( "selectUser" , "1" ); System.out.println(user.getName()); System.out.println(user); System.out.println( "--------------分隔線---------------" ); List<User> users = session.selectList( "selectUsers" ); for ( int i= 0 ; i<users.size(); i++) { System.out.println(users.get(i).getName()); } } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } } |
以上所述是小編給大家介紹的Java持久層框架MyBatis簡單實例,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!