- 一、数据库
- 二、maven
- 三、XML配置文件
- 四、内容
- 1.mybatis工具类
- 2.实体类
- 3.Dao接口
- 4.Mapper配置文件
- 五、Junit测试
- 总结
一、数据库
CREATE DATABASE `mybatis`; USE `mybatis`; CREATE TABLE `user`( `id` INT(20) NOT NULL PRIMARY KEY, `name` VARCHAr(30) DEFAULT NULL, `pwd` VARCHAr(30) DEFAULT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `user`(`id`,`name`,`pwd`) VALUES (1,'张三','123456'),(2,'赵四','123456'),(3,'王五','123456')二、maven
导入依赖jar包
三、XML配置文件mysql mysql-connector-java 5.1.47 org.mybatis mybatis 3.5.6 junit junit 4.12
在resource文件夹下,创建mybatis-config.xml文件,编写mybatis的核心配置文件
四、内容 1.mybatis工具类
//工具类,sqlSessionFactory
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();
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
2.实体类
代码如下(示例):
package com.kuang.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 + ''' +
'}';
}
}
3.Dao接口
代码如下(示例):
package com.kuang.dao;
import com.kuang.pojo.User;
import java.util.List;
public interface UserDao { // 或者 UserMapper
List getUserList();
}
4.Mapper配置文件
接口实现类由原来的UserDaoImpl转化为一个Mapper配置文件(userMapper.xml)
五、Junit测试
public class UserDaoTest {
@Test
public void test(){
//第一步:获得sqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao = sqlSession.getMapper(UserDao.class);
List userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
//关闭sqlSession
sqlSession.close();
}
}
总结
问题
Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in com/yd/dao/userdao.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/yd/dao/userdao.xml
解决:资源过滤
src/main/java
***.xml
false
src/main/resources
***.xml
false
1.连接数据库,导入mysql和mybatis jar包
2.建造工具类MybatisUtils获取工厂
3.编写配置文件mybatis-config.xml
4.实体类
5.接口
6.Mapper文件代替实现类
7.junit测试



