开发环境:JDK:1.7;IDE:IDEA 2017.1.1;Maven:3.3.9;MyBatis:3.4.4;数据库:mysql
数据库初始化
创建数据库、表格、初始化数据
使用maven声明依赖
<dependency>
<groupId>org.mybatis
</groupId>
<artifactId>mybatis
</artifactId>
<version>3.4.4
</version>
</dependency>
<dependency>
<groupId>mysql
</groupId>
<artifactId>mysql-connector-java
</artifactId>
<version>5.1.26
</version>
</dependency>
mybatis环境配置
<?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>
<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://localhost:3306/dbdemo"/>
<property name="username" value="root"/>
<property name="password" value="******"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="usermapper.xml"></mapper>
</mappers>
</configuration>
数据库映射文件
<?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="sys_userMapper">
<select id="getUserById" parameterType="int" resultType="UserEntity">
SELECT * FROM sys_user where id=#{Id}
</select>
</mapper>
mapper节点属性 namespace:同select节点的Id一起确认调用者需要调用的是哪条sql
select节点属性 id:同mapper节点的namespace一起确认调用者需要调用的是哪条sql parameterType:传入参数类型 resultType:映射的实体类,对应java类
代码示例
import org
.apache.ibatis.session.SqlSession
import org
.apache.ibatis.session.SqlSessionFactory
import org
.apache.ibatis.session.SqlSessionFactoryBuilder
import java
.io.InputStream
public class Test {
public static void main(String[] args) {
InputStream stream = Test
.class.getClassLoader()
.getResourceAsStream(
"mybatis-config.xml")
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
.build(stream)
SqlSession sqlSession = factory
.openSession()
String statement =
"sys_userMapper.getUserById"
UserEntity user = sqlSession
.selectOne(statement,
1)
System
.out.print(user)
}
}
运行结果