什么是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 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化。所以你懂的,开始学习就从MyBatis吧。
例子使用MyBatis+MySQL实现一个用户表的查询,如下:
1、数据库
在MySQL中,test数据库下,简历user表,字段:id,name,password,建表语句略。
2、需导入的包
只有两个: mybatis-3.0.3.jar mysql-connector-java-5.1.16-bin.jar(JDBC包)
3、目录结构
采用最简单的结构,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、表结构文件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简单实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!