spring mybatis 项目修改为mybatis plus项目
修改sqlSessionFactory 为mybatisSqlsessionFactory
com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean
- 编写mapper 接口 继承baseMapper接口 加入泛型
- 如果主键是自曾,则需要在主键上面加上@tableId 注解,指明value和IdType的值(如果数据库ID和实体类中的ID一样,value可省略)
- 需要在实体类上加上@TableName注解 value是对应得表名
- 全局配置策略(减少实体对象中的@tableName和@TableId 注解)
<!-- 配置SqlSessionFactoryBean
Mybatis提供的: org.mybatis.spring.SqlSessionFactoryBean
MP提供的:com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean
-->
<bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- 别名处理 -->
<property name="typeAliasesPackage" value="com.atguigu.mp.beans"></property>
<!-- 注入全局MP策略配置 -->
<property name="globalConfig" ref="globalConfiguration"></property>
</bean>
<!-- 定义MybatisPlus的全局策略配置-->
<bean id ="globalConfiguration" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
<!-- 在2.3版本以后,dbColumnUnderline 默认值就是true 下划线转为驼峰命名规则-->
<property name="dbColumnUnderline" value="true"></property>
<!-- 全局的主键策略 -->
<property name="idType" value="0"></property>
<!-- 全局的表前缀策略配置 -->
<property name="tablePrefix" value="tbl_"></property>
</bean>
注意:需要将globleconfig加入到mybatisSqlsessionConfig中,否则不起作用,然后去掉实体对象中的@TableName和@TableId 两个注解
@TableField注解
- 如果某个实体对象中在数据库中没有,那么就需要设置@TableField(exit=fase)
mybatis Plus 获取主键值
其实在插入之后,就已经将主键值放入实体对象里面对应的属性值,直接从属性值里面获取就可以了
insert与insterall方法的区别
查询返回map的传入的key必须是数据库字段的名称,不能是对象中的字段
添加构造器的常用操作
3. ### selectList
4. order by(desc,asc)