mybatis_0">mybatis案例
文章目录
1、创建项目,导入依赖
在外面的pom.xml导入mybatis、junit、mysql
2、删除src,创建新项目
删除原有的src,创建项目名字,
3、在resources中搭建核心配置文件
XML 配置文件中包含了对 MyBatis 系统的核心设置,
-
包括获取数据库连接实例的数据源(DataSource)
-
以及决定事务作用域
-
控制方式的事务管理器(TransactionManager)
java"><?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://**.**.***.***:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimeZone=Aisa/Shanghai"/>
<property name="username" value="****"/>
<property name="password" value="****"/>
</dataSource>
</environment>
</environments>
<!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册!-->
<mappers>
<mapper resource="com/xzzlx/dao/PersonMapper.xml"/>
</mappers>
</configuration>
-
设置事务、driver、url、username、password
-
其中url中还要设置一些参数等,譬如useSSL=true& 特别是 时区的设置 等等
这里面url、username、password中*是我自己的云服务器地址、账号和密码,只需将其替换为你们自己的就可以了。
4、新建工具类Utils
4.1 从XML中构建SqlSessionFactory
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。
-
sqlSession通过SqlSessionFactory可以获得。
-
SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。
-
而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
java">String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
- 建议使用类路径下的资源文件进行配置
4.2 从 SqlSessionFactory 中获取 SqlSession
java">public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
- 有了 SqlSessionFactory,顾名思义,可以从中获得 SqlSession 的实例
- SqlSession 提供了在数据库执行 SQL 命令所需的所有方法
5、创建实体类pojo
将要操作的表的类创建在我们新建的pojo类中
java">package com.xzzlx.pojo;
public class Person {
private long id;
private String uuid;
private String mobile;
private String nickname;
private String idCard;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", uuid='" + uuid + '\'' +
", mobile='" + mobile + '\'' +
", nickname='" + nickname + '\'' +
", idCard='" + idCard + '\'' +
'}';
}
}
或者从数据库中选中相应的表,然后点击
这样会帮我们自动生成实体类的代码
6、创建接口类
6.1 在Dao包中创建接口类
java">public interface PersonDao {
/**
* 查询所有人的集合
* @return
*/
List<Person> getPersonList();
}
6.2创捷该接口的xml文件,从而绑定该接口
注意这里边的namespace,就是用来建立关系的
java"><?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">
<!--绑定了一个对应的Dao/Mapper接口-->
<mapper namespace="com.xzzlx.dao.PersonDao">
<select id="getPersonList" resultType="com.xzzlx.pojo.Person">
select * from mybatis.person
</select>
</mapper>
其中
java"><select id="getPersonList" resultType="com.xzzlx.pojo.Person">
id是我们接口中的方法名,resultType是返回结果的类型,因为是Person类,所以需要把全限定名放进去
7、测试
使用 JUnit 进行测试
java">@Test
public void test01() {
//第一步:获取sqlSession对象
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtils.getSqlSession();
//方法一:getMapper
PersonDao mapper = sqlSession.getMapper(PersonDao.class);
List<Person> personList = mapper.getPersonList();
for (Person person : personList) {
System.out.println(person.toString());
}
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭SqlSession
sqlSession.close();
}
}
这里如果出现
- 遇到配置文件无法被导出或者生效的问题
因为在maven中约定大于配置,默认会在resource中寻找,当发生该错误的时候,
只需要在pom.xml中添加下列代码,目的是让mvn运行的时候,如果找不到当前所需要的配置文件的时候,去其他地方寻找
java"><!--在build中配置resources,防止我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
mybatis_264">以上,就是一个简单的mybatis案例,如果有什么问题可以在评论区留言~~
最后的最后,推荐该博主,太厉害了遇见狂神说之Mybatis
大爱!!!