Mybatis的springboot项目使用
删除数据 & 占位符
一般常用占位符进行数据库操作,也就是预编译sql。
在UserMapper中定义删除接口
/*
* 根据id删除用户
*/
@Delete("delete from user where id = #{id}")
void deleteById(Integer id);
若想要获取返回值,声明为Integer (sql语句会返回影响的行数,因此编写返回值时需要根据sql语句)
新增数据
Mapper接口:
@Insert
@Insert("insert into user(包含的字段, username, pass...) values(#{username}, #{...} ...)") // 动态传递
public void insert(User user); // 将修改的值封装成一个对象传递
修改数据–update
Mapper接口:
@Update
@Update("update user set username=#{username}, password=#{pa...}... where id=#{...}")
public void update(User user); // 保持字段名和属性名一致,字段有啥属性就要有啥
例:User user = new User(1, 周瑜, 123 ...);
查询数据
Mapper接口:
@Select
@Select("select * from user where username=#{username} and password=#{password}")
// 将查询返回的信息封装到一个对象当中
用@Param注解给接口的方法形参起名字,这样就可以在Select注解中使用这个名字,因为这个方法需要传入好几个参数password, username等,会混淆,所以用注解起名表示.
@Select("select * from user where username=#{user}")
public User find(@Param("user") String username);
XML映射配置
- 在Mybatis中,既可以通过注解配置SQL语句,也可以通过XML配置文件配置SQL语句。
- 默认规则:
- XML映射文件名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)
- XML映射文件的namespace属性为Mapper接口全限定名一致。
- XML映射文件中sql语句的id与Mapper接口的方法名一致,并保持返回类型一致。
注意敲resources中的结构时用斜杠不要用点:
com/itheima/mapper,这样创建的才是同包同名
简单的sql用注解,复杂的sql用XML配置文件
这里不具体讲了,用到再说。
Mybatis数据库连接池
切换连接池
- 引入德鲁伊依赖
- 在application.properties中配置数据库连接池信息
end
致谢:本文参考黑马程序员的视频。
https://www.bilibili.com/video/BV1yGydYEE3H/?vd_source=1b8f9bfb1d0891faf1c70d7678ae56db