整合Mybatis:
步骤简述
1.新建实体类User(com.feng.pojo)
import lombok.Data;
//此处导入了Lombok依赖使用注解
@Data
public class User {
private int id;
private String name;
private String pwd;
}
2.编写Mybatis核心配置文件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>
<typeAliases>
<package name="com.feng.pojo"/>
</typeAliases>
<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=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="数据库名字"/>
<property name="password" value="数据库密码"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/feng/Mapper/UserMapper.xml"/>
</mappers>
</configuration>
3.创建接口UserMapper和绑定接口的xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.feng.Mapper.UserMapper">
<select id="selectUser" resultType="user">
select * from mybatis.user;
</select>
</mapper>
这里我们可以拷贝Mybatis-cofig.xml的文件过来,更改一下就可以了,不需要到官网拷贝配置文件
4.注册UserMapper.xml文件到Mybatis-config.xml文件中(可以使用class或者resourse)
此时要注意class是包扫描,resource你需要给定xml文档全限定类名
class ="XXX.XXX.XXX"注意需要接口和绑定接口的xml文件在同一包下
resource = “XXX/XXX/XXX.xml”
<mappers>
<mapper resource="com/feng/Mapper/UserMapper.xml"/>
<!-- <mapper class="com.feng.Mapper.UserMapper"/>-->
</mappers>
5.测试
@Test
public void test() throws IOException {
//读取配置文件
String resourse = "Mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resourse);
//建立工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//生成工厂经理
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//工厂经理招符合条件的工人(UserMapper.class)
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//把工人放到一起
List<User> users = mapper.selectUser();
for (User user : users) {
System.out.println(user);
}
//停止招人
sqlSession.close();
}
整合Mybatis所需要的依赖库:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.5</version>
</dependency>
<!--Spring操作数据库还需要一个包Spring-jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.6</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
</dependency>
</dependencies>
报错处理:maven静态资源过滤(在pom.xml文件中导入)
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
异常报错情况: Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'
使用最新的数据库依赖包时候,可能出现低版本的数据库连接驱动被遗弃的情况,此时更改配置文件中,需要将 com.mysql.jdbc.Driver 改为 com.mysql.cj.jdbc.Driver或者使用低版本的Mysql数据库依赖包