1.引入依賴
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.0
mysql
mysql-connector-java
runtime
2.entity實體類
@TableName(value = "tb_user")//使用mybatis-plus時需要添加,與數據庫中的表建立關系
public class SysUser implementsSerializable {
@TableId(type = IdType.AUTO)//使用mybatis-plus時需要添加,主鍵生成策略
privateLong id;
privateString username;
privateString password;
privateString salt;
privateString avatar;
privateString introduce;
privateString remark;
//省略get,set方法
}
3.創建application.properties配置文件
#DB Configuration數據庫信息:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
#spring集成Mybatis環境
#pojo別名掃描包
mybatis.type-aliases-package=cn.zhq.system.entity
#加載Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
# 打印sql
#打印sql到控制臺
logging.level.cn.zhq.system.mapper=debug
mybatis.type-aliases-package是實體所在包的位置,mybatis.mapper-locations是配置文件所在的位置。初次使用的時候最好加上打印sql的配置,如果出現錯誤的話,這樣容易找出錯誤原因。
4.創建UserMapper類
@Mapper
public interfaceUserMapper {
}
5.在spring boot的application加上注解
@EntityScan("cn.zhq.system.entity")//填寫 entity類所在包的位置。
加上這個注解后,springboot就可以掃描能實體類。
6.進行增刪改查
6.1 使用mapper.xml進行增刪改查
6.1.1 編寫UserMapper類中的方法
/**
* 根據Name查詢用戶數據
*
* @param username
* @return
*/
SysUser findByName(String username);
6.1.2? 在resources的mapper目錄下創建UserMapper.xml配置文件
/p>
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
select * from tb_user where username = #{username}
使用select標簽執行查詢語句,使用update標簽進行 增,刪,改操作。其中 id是UserMapper類中方法的名稱,resultType是返回值的類型,parameterType是接收的參數類型。
6.2 使用注解進行增刪改查
/**
* 更新用戶名
* @param username
*/@Update("update tb_user set username= #{username} where id = #{id}")
void updateByAvatar(String username,Long id);
使用@Update注解后,就無需再編寫UserMapper配置文件了,同理@Updae可以進行增刪改操作。此外使用@Select進行查詢。當進行一對多,多對多關系的查詢時,還可以使用@Results注解指定返回結果的數據類型,這里就不細說了。
以上兩種方式各有利弊,使用配置文件編寫sql語句好處是耦合度低但過于麻煩,使用注解的方式相對于配置文件來說比較簡單,但是耦合度高。如果是簡單語句,建議是使用注解,如果是復雜語句,使用配置文件的方式。具體使用哪種方式,可以視實際情況而定。
6.3 使用mybatis-plus進行增刪改查
mybatis-plus類似于spring data jpa , 內置查詢,更新,刪除,插入語句,使我們無需再寫那些簡單的sql語句。
6.3.1 引入依賴
com.baomidou
mybatis-plus-boot-starter
3.2.0
6.3.2?application.yml配置文件
# mybatis-plus
mybatis-plus:
type-aliases-package: cn.zhq.system.entity
mapper-locations: classpath:mapper/*.xml
configuration:
jdbc-type-for-null: null
global-config:
banner: false
type-aliases-package填寫Entity實體類所在包的位置。mapper-locations:填寫映射文件所在的位置,如果不寫的話,在你的resources下的mapper配置文件會報錯。
6.3.3?相關service,serviceImpl,mapper類
service:
public interface UserService extends IService{
/**
* 更新
*
* @param sysUser
*/
voidupdate(SysUser sysUser);
}
serviceImpl:
@Service
public class UserServiceImpl extends ServiceImpl implementsUserService {
@Autowired
privateUserMapper userMapper;
@Override
@Transactional
public voidupdate(SysUser sysUser) {
userMapper.updateById(sysUser);
}
}
mapper:
@Mapper
public interface UserMapper extends BaseMapper{
}
雖然我們在UserMapper中沒有定義任何方法,但是mybatisPlus集成了很多方法可供我們使用。
執行后,打印的sql語句結果如下
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态