写点什么

MyBatis01:初识 MyBatis 与 第一个 MyBaits 程序

用户头像
极客good
关注
发布于: 刚刚

2.3 编写 MyBatis 核心配置文件




main/resources目录下新建 mybatis-config.xml 文件,用于 MyBatis 的核心配置文件。


<?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.jdbc.Driver"/>


<property name="url"


value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf8"/>


<property name


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


="username" value="root"/>


<property name="password" value="123456"/>


</dataSource>


</environment>


</environments>


<mappers>


<mapper resource="sharm/dao/UserMapper.xml"/>


</mappers>


</configuration>


2.4 编写 MyBatis 工具类来连接数据库的资源




按照 Maven 约束,在 java.sharm 目录下新建一个 utils 包,在其中新建 MyBatis 工具类。其中的代码是 MyBatis 官方约定的,最好不要修改。


package sharm.utils;


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;


/**


  • 通过 Mybatis 的官方教程:https://mybatis.org/mybatis-3/zh/getting-started.html


*/


public class MyBatisUtils {


private static SqlSessionFactory sqlSessionFactory;


static {


try {


// 1 从 XML 中构建 SqlSessionFactory


String resource = "mybatis-config.xml";


InputStream inputStream = Resources.getResourceAsStream(resource);


sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);


} catch (IOException e) {


e.printStackTrace();


}


}


//2 获取 SqlSession 连接


public static SqlSession getSession(){


return sqlSessionFactory.openSession();


}


}


2.5 创建一个与数据库的表相对应的实体类




按照 Maven 约束,在 java.sharm 目录下新建一个 pojo 包用于存放实体类,同时因为需要将数据库的内容注入到 Java 对象中。其中的变量名一定要和数据库表中的字段一定要一一对应。


package sharm.pojo;


public class User {


private int id;


private String name;


private String password;


public User() {


}


public User(int id, String name, String password) {


this.id = id;


this.name = name;


this.password = password;


}


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 getPassword() {


return password;


}


public void setPassword(String password) {


this.password = password;


}


@Override


public String toString() {


return "User{" +


"id=" + id +


", name='" + name + ''' +


", password='" + password + ''' +


'}';


}


}


2.6 编写一个 UserMapper 接口类来规范功能




package sharm.dao;


import sharm.pojo.User;


import java.util.List;


public interface UserMapper {


/**


  • 查询对应表中的所有对象

  • @return


*/


List<User> selectUser();


}


2.7 编写对应的 UserMapper.xml 配置文件来实现接口




这一点和原来的 Dao 层有点区别,原来是用一个实现类来实现接口,现在使用一个 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="sharm.dao.UserMapper">


<select id="selectUser" resultType="sharm.pojo.User">


select * from mybatis.user


</select>


</mapper>


2.8 编写测试类




test.java.sharm.dao 下建立 UserTest 测试类用于测试。


package sharm.dao;


import org.apache.ibatis.session.SqlSession;


import org.junit.Test;


import sharm.pojo.User;


import sharm.utils.MyBatisUtils;


import java.util.List;

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
MyBatis01:初识 MyBatis 与 第一个 MyBaits 程序