org.mybatis
mybatis
3.5.6
2.编写Mybatis的核心配置文件
若是复制运行报错,把注释去掉
3.接口实现类有原来的UserDaoImpl转换为一个Mapper配置文件(该名与接口名一致,避免不必要的麻烦)
4.编写mybatis工具类select * from student
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 java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用Mybatis第一步,获取sqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
//SqlSession 提供了在数据库执行 org.apache.ibatis.jdbc.SQL 命令所需的所有方法。
// 你可以通过SqlSession 实例来直接执行已映射的 SQL 语句
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(); //不会提交事务 (增删改,则在增删改中添加commit)
//return sqlSessionFactory.openSession(true); //会自动提交事务
}
}
5、测试
实体类
package com.xiao.pojo;
public class User{
private int id;
private String name;
private String pwd;
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + ''' +
", pwd='" + pwd + ''' +
'}';
}
}
DAO接口
package com.xiao.dao;
import com.xiao.pojo.User;
import java.util.List;
public interface UserDao {
List getUserList();
}
Test测试
import java.util.List;
public class StudentTest {
@Test
public void userTest(){
//第一步获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//方式一:getMapper()
UserDao mapper = sqlSession.getMapper(UserDao.class);
List userList = mapper.getUserList();
//方式二
// List userList = sqlSession.selectList("com.xiao.dao.UserDao.getUserList");
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
}



