思路流程:搭建环境–>导入Mybatis—>编写代码—>测试
代码演示
1、搭建实验数据库
CREATE DATABASE mybatis
;
USE mybatis
;
DROP TABLE IF EXISTS user
;
CREATE TABLE user
(id
int(20) NOT NULL,name
varchar(30) DEFAULT NULL,pwd
varchar(30) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into user
(id
,name
,pwd
) values (1,‘呜呜呜’,‘123456’),(2,‘张三’,‘abcdef’),(3,‘李四’,‘987654’);
2、导入MyBatis相关 jar 包
org.mybatis
mybatis
3.5.2
mysql
mysql-connector-java
5.1.47
3、编写MyBatis核心配置文件
- 查看帮助文档
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;
//sqlSessionFactory --> sqlSession
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用Mybatis第一步获取SqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//Sqlsession完全包含了面向数据库执行sql语句的所有法法
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
5、创建实体类
public class User {
private int id; //id
private String name; //姓名
private String pwd; //密码
//构造,有参,无参
//set/get
//toString()
}
6、Dao接口
package com.xu.dao;
import com.xu.pojo.User;
import java.util.List;
public interface UserDao {
List getUserList();
}
7、接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件
<?xml version="1.0" encoding="UTF-8"?> select * from mybatis.user 8、编写测试类 * Junit 包测试package com.xu.dao;
import com.xu.pojo.User;
import com.xu.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test() {
//第一步:获得SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//执行SQL
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
//关闭SqlSession
sqlSession.close();
}
}
9、运行测试,成功的查询出来的我们的数据,ok!
问题说明:在build中配置resource,防止资源导出失败的问题
可能出现问题说明:Maven静态资源过滤问题
src/main/java
/*.properties
/.xml
false
src/main/resources
**/.properties
**/*.xml
false
斜体样式