前面就没有整理好mybatis 也是因为跳过这个直接去学的springboot
也导致没有更深层次理解 也是逢坑踩坑
一下我maven版本为2.2.5.RELEASE
1 导入mybatis和mysql驱动依赖
如果mybatis加载不出来降低版本
参考:https://blog.csdn.net/S852509769/article/details/134456125
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
2. 写出死步骤properties(yaml)配置
其中密码和用户名为电脑上mysql对应的密码和用户名
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名字?serverTimezone=GMT&2B8&userUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
这里坑坑坑:
对于SpringBoot项目来说,classpath指的是src.main.java和src.main.resources路径以及第三方jar包的根路径,存放在这两个路径下的文件,都可以通过classpath作为相对路径来引用
第一个为你实体类的地方 一般都是在包下建的 所有为 包名.entity(或pojo)
mybatis.type-aliases-package=包名.entity
mapper文件的映射 你写的xml文件的位置:
如果你再resource下建的mapper 然后放在里面的xml则为以下
如果是在其他地方必须改变路径位置
mybatis.mapper-locations=classpath:mapper/*.xml
3.然后是实体类的编写(entity pojo 建立的类首字母大写)
使用到lombok简化
还有就是 字段和和你数据表对应
4.编写mapper映射(一般又有service层)
举个例子:
@Mapper 表明此为映射文件
@Repository 注解修饰哪个类表明这个类具有对数据库CRUD的功能
public interface User {
简单的增删改查 User即为entity层
List<User> query();
User queryByid(int id);
int add(User user);
int update(User user);
int delete(int id);
}
implements继承自一个mapper映射文件 实现接口方法
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper; mapper映射文件
@Override
public User query(String name) {
return userMapper.query(name);
}
}
5.注意 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">
此处namespace为你mapper映射文件的路径 也就是4在的位置
<mapper namespace="包名.mapper.UserMapper">
id对应的是你mapper中写的方法名字
<select id="query" resultType="User">
select *from user ;
</select>
<select id="queryByid" resultType="User">
select *from user where id=#{id} ;
</select>
<insert id="add" parameterType="User">
insert into user(id,name,pwd) values(#{id},#{name},#{pwd})
</insert>
<update id="update" parameterType="User">
update user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<delete id="delete" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
6.最好测试一下
在test 中的.java中 测试一下你的springboot和mybatis是否成功
@SpringBootTest
class DemoApplicationTests {
//测试
@Autowired
Mapper映射
@Test
void contextLoads() {
System.out.println(mapper.query("高远"));
}
}
这次应该比上次更加清晰明了
标签:25,name,mapper,整理,user,mysql,mybatis,id From: https://www.cnblogs.com/gaodiyuanjin/p/18130453