Mybatis的初始用:
1.导入相应的jar包
2.在src下创建mybatis.xml配置文件
<?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="default">
<environment id="default">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/liubo/mapper/UserMapper.xml"/>
</mappers>
</configuration>
3.在com.liubo.mapper包下创建文件 UserMapper.xml
<?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.liubo.mapper.UserMapper">
<select id="selAllUser" resultType="com.liubo.domain.User">
select * from test_user
</select>
<select id="selUser" resultType="com.liubo.domain.User">
select * from test_user where id = #{0}
</select>
</mapper>
4.编写测试类
package com.liubo.dao.impl;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
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;
import com.liubo.domain.User;
public class UserDaoImpl1 {
public static void main(String[] args) throws IOException{
// 加载全局配置文件
InputStream is = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = factory.openSession();
List<User> list = session.selectList("com.liubo.mapper.UserMapper.selAllUser");
Iterator<User> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
User user = session.selectOne("com.liubo.mapper.UserMapper.selUser",1);
System.out.println(user);
session.close();
}
}
SqlSession是MyBatis的关键对象,是执行持久化操作的独享,类似于JDBC中的Connection.它是应用程序与持久层之间执行交互操作的一个单线程对象,也是MyBatis执行持久化操作的关键对象.SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行被映射的SQL语句.