尚硅谷 ssm整合框架 笔记
一、开始使用mybatis的时候需要先引入对应的依赖
<dependencies>
<!-- Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
在引入MySQL驱动依赖的时候需要注意其的版本(version)
如果使用的是MySql 5 版本就使用jdbc5驱动, 驱动类使用com.mybatis.jdbc.Driver ,其连接地址url:dbc:mysql://localhost:3306/ssm
如果使用的是MySql 8 版本就使用jdbc8驱动,驱动类使用com.mysql.cj.jdbc.Driver ,其连接端口号:dbc:mysql://localhost:3306/ssm?serverTimezone=UTC
Mysql 8 需要配置一个serverTimezone属性,如不配置,则报
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more 异常
二、 之后创建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.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?
serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<package name="mappers/UserMapper.xml"/>
</mappers>
</configuration>
因为引入的是mysql 8版本的驱动,因此 driver 和 url 使用的是 8版本对应的driver包,以及url(上面提到过)
三、创建pojo 类,以及 mapper 接口
pojo类需要与数据库类型一一对应,mapper 就是操作数据库的方法
package com.atguigu.mybatis.mapper;
import com.atguigu.mybatis.pojo.User;
import java.util.List;
public interface UserMapper {
int insertUser();
// 修改用户信息
void updateUser();
//删除用户信息
void deleteUser();
// 根据id查询用户信息
User getUserById();
// 查询所有的用户信息
List<User> getAllUser();
}
四、之后创建对应的mybatis对应的映射文件
在resource 下创建mapper文件夹,创建响应的映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.mapper.UserMapper">
<!--
mapper 接口的映射文件要保持两个一致
1. mapper 接口的圈内名 和 映射文件的namespace一致
2. mapper 接口中的方法名 要和映射文件中的sql的id 保持一致
-->
<!--int insertUser();-->
<insert id="insertUser">
insert into t_user values(null, 'admin','123456',23,'男','12345@qq.com')
</insert>
<!--void updateUser();-->
<update id="updateUser">
update t_user set username='root', password='123' where id = 3
</update>
<!--void deleteUser();-->
<delete id="deleteUser">
delete from t_user where id = 3
</delete>
<!--User getUserById();-->
<!--
resultType : 设置结果类型, 即查询的数据要转换为的java 类型
resultMap : 自定义映射,处理多对一, 一对多映射关系
-->
<select id="getUserById" resultType="com.atguigu.mybatis.pojo.User">
select * from t_user where id = 1
</select>
<!--List<User> getAllUser();-->
<select id="getAllUser" resultType="User">
select * from t_user
</select>
</mapper>
mapper映射里的 id 需要与 创建的UserMapper接口的方法一一对应
五、测试