1、连接数据库
用idea连接数据库
填上user和password,进行连接测试,可能不会成功,因为我用的mysql是8.0以上版本,可以通过这种方法解决https://blog.csdn.net/x947096828/article/details/104665383
2、建立与表相对应类
3、写mapper.xml写相应的语句
4、写测试类进行测试
package com.gykj;
import com.gykj.dao.UserDao;
import com.gykj.pojo.User;
import com.gykj.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import javax.jws.soap.SOAPBinding;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
//第一步,获取sqlsession对象
SqlSession session = MybatisUtils.getSqlSession();
//执行sql
UserDao userDao=session.getMapper(UserDao.class);
List<User> userList=userDao.getUserList();
for(User user:userList){
System.out.println(user.toString());
}
session.close();
}
}
5、运行,可是发现错误出现的很多
(1)使用mysql8.0以上,在连接数据库的url上需要将ssl改为false,另要加上时区
<?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核心配置文件-->
<configuration>
<environments default="development">
<!-- 这里environments是可以配置多个环境的-->
<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&serverTimezone=Hongkong&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 每一个Mapper.xml都需要在mybatis核心配置文件中注册!!-->
<mappers>
<mapper resource="com.gykj.dao.UserMapper.xml"/>
</mappers>
</configuration>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=UTF-8"/>
(2)编码问题
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。
解决方法: https://blog.csdn.net/litterpp/article/details/77678550
(3)maven导出问题,总是提示UserMapper.xml不存在找不到
原因是idea默认不编译src目录下的xml文件,所以加载不到
解决办法在pom文件中加入如下配置,注意不要放到dependencies标签中
<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>
(4)编译后没有target文件
需要在设置中将"show excluded files"勾上
好困,明天再看吧