网站播放大视频如何做,zencart 官方网站,长春网站建设开发维护,wordpress post下载MyBatisX插件
在真正开发过程中对于一些复杂的SQL和多表联查就需要我们自己去编写代码和SQL语句,这个时候可以使用MyBatisX插件帮助我们简化开发
安装MyBatisX插件: File - Settings - Plugins - 搜索MyBatisx插件搜索安装然后重启IDEA
跳转文件功能
由于一个项…MyBatisX插件
在真正开发过程中对于一些复杂的SQL和多表联查就需要我们自己去编写代码和SQL语句,这个时候可以使用MyBatisX插件帮助我们简化开发
安装MyBatisX插件: File - Settings - Plugins - 搜索MyBatisx插件搜索安装然后重启IDEA
跳转文件功能
由于一个项目中的mapper接口和映射文件有很多找起来很麻烦, 而MyBatisX插件可以快速找到mapper接口对应的映射文件以及映射文件对应的mapper接口
在application.xml文件中指定SQL映射文件的位置,mybatis-plus的mapper-locations属性可以指定配置文件的位置(默认从类路径下的mapper目录下加载)
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl#设置MyBatis-Plus的全局配置mapper-locations: SQL映射文件的路径代码生成功能
第一部: 创建一个Spring Boot工程并引入相关依赖, 在application.yml文件中配置数据源的连接信息
spring:# 配置数据源信息datasource:# 配置数据源类型(Spring boot默认使用的数据源)type: com.zaxxer.hikari.HikariDataSource# 配置连接数据库的各个信息driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis_plus?characterEncodingutf-8userSSLfalseusername: rootpassword: 123456dependenciesdependency!--spring boot的启动器--groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependency!--spring boot的测试启动器--groupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependency!--mybatis-plus的启动器--groupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version/dependencydependency!--简化实体类开发的依赖(还需要下载lombok插件)--groupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependency!--mysql的驱动,Spring boot默认的是8以上的版本--groupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependency
/dependencies第二步: 在IDEA的Database中设置参数连接本地的MySQL数据库 第三步: 使用MyBatisX插件设置生成表相关的mapper,service,映射文件的存放位置 查看mapper接口,mapper接口的映射文件,service接口及其实现类的最终生成位置 自定义方法和SQL
根据mapper接口中的自定义的模板方法名在SQL映射文件中生成对应的增删改查的SQL语句,自动将mapper接口中的方法与映射文件的SQL语句相关联
自定义增删改查的方法时一般以insert,select,update,delete为前缀 public interface UserMapper extends BaseMapperUser {//添加数据时,如果实体类属性为null则不为该属性对应的字段赋值int insertSelective(User user);//根据uid和username删除用户int deleteByUidAndUserName(Param(uid) Long uid, Param(userName) String userName);//根据uid更新用户的年龄和性别int updateAgeAndSexByUid(Param(age) Integer age, Param(sex) Integer sex, Param(uid) Long uid);//查询年龄和性别根据年龄的区间范围ListUser selectAgeAndSexByAgeBetween(Param(beginAge) Integer beginAge, Param(endAge) Integer endAge);//查询所有字段根据年龄降序ListUser selectAllOrderByAgeDesc();
}?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.atguigu.mybatisx.mapper.UserMapperresultMap idBaseResultMap typecom.atguigu.mybatisx.pojo.Userid propertyuid columnuid jdbcTypeBIGINT/result propertyuserName columnuser_name jdbcTypeVARCHAR/result propertyage columnage jdbcTypeINTEGER/result propertyemail columnemail jdbcTypeVARCHAR/result propertysex columnsex jdbcTypeINTEGER/result propertyisDeleted columnis_deleted jdbcTypeINTEGER//resultMap!--SQL片段,记录表中的所有字段--sql idBase_Column_Listuid,user_name,age,email,sex,is_deleted/sql!--int insertSelective(User user);--insert idinsertSelectiveinsert into t_usertrim prefix( suffix) suffixOverrides,if testuid ! nulluid,/ifif testuserName ! nulluser_name,/ifif testage ! nullage,/ifif testemail ! nullemail,/ifif testsex ! nullsex,/ifif testisDeleted ! nullis_deleted,/if/trimvaluestrim prefix( suffix) suffixOverrides,if testuid ! null#{uid,jdbcTypeBIGINT},/ifif testuserName ! null#{userName,jdbcTypeVARCHAR},/ifif testage ! null#{age,jdbcTypeINTEGER},/ifif testemail ! null#{email,jdbcTypeVARCHAR},/ifif testsex ! null#{sex,jdbcTypeINTEGER},/ifif testisDeleted ! null#{isDeleted,jdbcTypeINTEGER},/if/trim/insert!--int deleteByUidAndUserName(Param(uid) Long uid, Param(userName) String userName);--delete iddeleteByUidAndUserNamedelete from t_user where uid #{uid,jdbcTypeNUMERIC} AND user_name #{userName,jdbcTypeVARCHAR}/delete!--int updateAgeAndSexByUid(Param(age) Integer age, Param(sex) Integer sex, Param(uid) Long uid);--update idupdateAgeAndSexByUidupdate t_user set age #{age,jdbcTypeNUMERIC},sex #{sex,jdbcTypeNUMERIC} where uid #{uid,jdbcTypeNUMERIC}/update!--ListUser selectAgeAndSexByAgeBetween(Param(beginAge) Integer beginAge, Param(endAge) Integer endAge);--select idselectAgeAndSexByAgeBetween resultMapBaseResultMapselect age, sex from t_user where age between #{beginAge,jdbcTypeINTEGER} and #{endAge,jdbcTypeINTEGER}/select!--ListUser selectAllOrderByAgeDesc();--select idselectAllOrderByAgeDesc resultMapBaseResultMapselect include refidBase_Column_List/ from t_user order by age desc/select
/mapper