第一步 配置pom.xml
<dependencies>
? ? ? ?<dependency>
? ? ? ? ? ?<groupId>mysql</groupId>
? ? ? ? ? ?<artifactId>mysql-connector-java</artifactId>
? ? ? ? ? ?<version>
? ? ? ? ? ? ? ?8.0.19
? ? ? ? ? ?</version>
? ? ? ?</dependency>
? ? ? ?<dependency>
? ? ? ? ? ?<groupId>org.mybatis</groupId>
? ? ? ? ? ?<artifactId>mybatis</artifactId>
? ? ? ? ? ?<version>3.5.2</version>
? ? ? ?</dependency>
? ? ? ?<dependency>
? ? ? ? ? ?<groupId>junit</groupId>
? ? ? ? ? ?<artifactId>junit</artifactId>
? ? ? ? ? ?<version>4.10</version>
? ? ? ?</dependency>
? ?</dependencies>
第二步 在resources下创建Mybatis-config.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="development">
? ? ? ?<environment id="development">
? ? ? ? ? ?<transactionManager type="JDBC"/>
? ? ? ? ? ?<dataSource type="POOLED">
? ? ? ? ? ? ? ?<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
? ? ? ? ? ? ? ?<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8"/>
? ? ? ? ? ? ? ?<property name="username" value="root"/>
? ? ? ? ? ? ? ?<property name="password" value="password"/>
? ? ? ? ? ?</dataSource>
? ? ? ?</environment>
? ?</environments>
?
<!-- ? 每一个mapper.xml都需要在Mybatis核心配置文件中注册-->
? ?<mappers>
? ? ? ?<mapper resource="com/heb/dao/UserMapper.xml"/>
? ?</mappers>
</configuration>
第三步 创建工具包utils
工具类
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,顾名思义,我们就可以从中获得SqlServer 的实例了。
? ?// SqlSession 完全包含了面向数据执行 SQL 命令所需要的所有方法
? ?public static SqlSession getSqlSession(){
? ? ? ?SqlSession sqlSession = null;
? ? ? ?try {
? ? ? ? ? ? sqlSession = sqlSessionFactory.openSession();
? ? ? }catch (Exception e){
? ? ? ? ? ?e.printStackTrace();
? ? ? }finally {
? ? ? ? ? ?return sqlSession;
? ? ? }
? }
}
第四步 创建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访问层
创建UserDao接口
public interface UserDao {
? ?List<User> getUserList();
}
UserMapper实现接口
<?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">
<!--namespace=绑定一个对应的Mapper接口-->
<mapper namespace="com.heb.dao.UserDao">
?
? ?<select id="getUserList" resultType="com.heb.pojo.User">
? ? ? select * from mybatis.useruser;
? ?</select>
</mapper>
第六步 书写测试类
在text.java包下对应main.java包
创建测试
public class UserDaoTest {
? ?@Test
? ?public void test(){
? ? ? ?// 第一步,获得SQLSession对象
?
? ? ? ?SqlSession sqlSession = MybatisUtils.getSqlSession();
? ? ? // 第二步:执行SQL( 方式一: getMapper)
? ? ?? UserDao mapper = sqlSession.getMapper(UserDao.class);
? ? ? List<User> userList = mapper.getUserList();
? ? ? ?// 关闭
? ? ? ?sqlSession.close();
?
? }
}
注意事项:
-
配置文件没有注册 -
绑定接口错误 -
方法名不对 -
返回类型不对 -
Maven导出资源问题 -
这是因为中文操作系统编码为GBK,MAVEN安装后默认使用系统编码GBK,导致在编译UTF-8格式的源代码文件时出现编码不匹配的问题。 1.当然你可以直接把.xml文件中的中文注释删除,只是这不符合编程规范,那么你可以尝试第二种方法。 2.MAVEN编码从GBK改为UTF-8。 1.查看当前Maven默认的编码格式: cmd中输入mvn -v 可以查看Maven的属性
|