入门的配置和使用
依赖的环境#
- jar包
mybatis
3.3.0 和mysql-connector-java
5.1.371 2 3 4 5 6 7 8 9 10
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.37</version> </dependency>
-
数据库,使用的是mysql
创建数据库(mybatis20151125)
创建表 userCreate TABLE
user
(id
int(11) NOT NULL AUTO_INCREMENT,userName
varchar(50) DEFAULT NULL,userAge
int(11) DEFAULT NULL,userAddress
varchar(200) DEFAULT NULL, PRIMARY KEY (id
) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; > 插入数据insert into
user
VALUES ('1', '111', '111', 'beijing');
-
创建的是一个Maven项目(Java工程)#
- 项目结构图:
-
项目文件的内容
-
Configuration.xml
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
<?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.sun.useMyBatis3.useMyBatis3.model.User"/> </typeAliases> <!-- 数据库连接信息 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis20151125"/> <property name="username" value="root"/> <property name="password" value="000000"/> </dataSource> </environment> </environments> <!-- 对应的Mapper --> <mappers> <mapper resource="com/sun/useMyBatis3/useMyBatis3/model/User.xml"/> </mappers> </configuration>
-
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.sun.useMyBatis3.useMyBatis3.model; public class User { private String id; private String userName; private String userAge; private String address; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserAge() { return userAge; } public void setUserAge(String userAge) { this.userAge = userAge; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
-
User.xml
1 2 3 4 5 6 7 8 9
<?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="com.sun.useMyBatis3.useMyBatis3.model.UserMapper"> <select id="selectUserByID" parameterType="int" resultType="User"> select * from `user` where id = #{id} </select> </mapper>
- UserTest.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 34 35 36 37 38 39 40 41 42 43
package com.sun.useMyBatis3.useMyBatis3.test; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.sun.useMyBatis3.useMyBatis3.model.User; public class UserTest { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try{ // reader = Resources.getResourceAsReader("Configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSqlSessionFactory(){ return sqlSessionFactory; } public static void main(String [] args) { SqlSession sqlSession = getSqlSessionFactory().openSession(); try{ User user = (User) sqlSession.selectOne("com.sun.useMyBatis3.useMyBatis3.model.UserMapper.selectUserByID",1); System.out.println(user.getId()); System.out.println(user.getUserName()); System.out.println(user.getUserAge()); System.out.println(user.getAddress()); } finally{ sqlSession.close(); } } }
- UserTest.java
以接口的方式配置#
-
接口类
UserImpl.java
1 2 3 4 5 6 7 8 9 10 11 12 13
package com.sun.useMyBatis3.useMyBatis3.model.impl; import com.sun.useMyBatis3.useMyBatis3.model.User; /** * 以接口的方式调用 * 2015年11月25日 下午10:55:51 * */ public interface UserImpl { public User selectUserByID(int id); }
-
User.xml
namespace
后面的内容要对应自己的接口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"> <!--namespace和id确定了要执行的sql--> <mapper namespace="com.sun.useMyBatis3.useMyBatis3.model.impl.UserImpl"> <select id="selectUserByID" parameterType="int" resultType="User"> select * from `user` where id = #{id} </select> </mapper>
-
测试类(UserTest.java)
package com.sun.useMyBatis3.useMyBatis3.test;
import java.io.Reader;
import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.sun.useMyBatis3.useMyBatis3.model.User; import com.sun.useMyBatis3.useMyBatis3.model.impl.UserImpl;
/* * 测试MyBatis * 2015年11月25日 下午10:11:47 * @author * /
public class UserTest {
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
private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try{ // reader = Resources.getResourceAsReader("Configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSqlSessionFactory(){ return sqlSessionFactory; } public static void main(String [] args) { SqlSession sqlSession = getSqlSessionFactory().openSession(); try{ UserImpl userImpl = sqlSession.getMapper(UserImpl.class); User user1 = userImpl.selectUserByID(1); System.out.println(user1.getAddress()); System.out.println(user1.getUserName()); } finally { sqlSession.close(); } }
}
-