最近一直在用JPA,其实还是蛮喜欢JPA的风格,最近需要开一个新项目,还没定下具体用什么ORM框架,不过Mybatis的几率会大一些,本篇就相当于一个温习回顾吧,话不多说了,大家看下面步骤吧。 在Spring Boot中集成Mybatis
<dependency> <groupId>org.mybatis.spring.bootgroupId> <artifactId>mybatis-spring-boot-starterartifactId> <version>1.1.1version>dependency><dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId>dependency>
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/restful?useUnicode=true&characterEncoding=UTF-8&useSSL=false username: root password: root initialize: true
public class User { private Integer id; private String name; private String hobby; //省去get、set方法 //之前文章我提过一个lombok的框架,可以省去get set方法,大家可以参考一下 //https://my.oschina.net/wangxincj/blog/811611 @Override public String toString() { return 'User{' + 'id=' + id + ', name='' + name + '\'' + ', hobby='' + hobby + '\'' + '}'; }}
1、第一种方法如下:
import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import java.util.List;@Mapperpublic interface UserMapper { int insert(@Param('pojo') User pojo); int insertList(@Param('pojos') List
xml version='1.0' encoding='UTF-8' ?><mapper namespace='com.wang.mybatis.UserMapper'> <resultMap id='AllColumnMap' type='com.wang.mybatis.User'> <result column='id' property='id'/> <result column='name' property='name'/> <result column='hobby' property='hobby'/> resultMap> <sql id='all_column'> `id`, `name`, `hobby` sql> <insert id='insert'> INSERT INTO `user` (`id`,`name`,`hobby`) VALUES (#{pojo.id},#{pojo.name},#{pojo.hobby}) insert> <insert id='insertList'> INSERT INTO `user`( <include refid='all_column'/> )VALUES <foreach collection='pojos' item='pojo' index='index' separator=','> ( #{pojo.id}, #{pojo.name}, #{pojo.hobby} ) foreach> insert> <update id='update'> UPDATE `user` <set> <if test='pojo.id != null'> `id` = #{pojo.id}, if> <if test='pojo.name != null'> `name` = #{pojo.name}, if> <if test='pojo.hobby != null'> `pwd` = #{pojo.hobby} if> set> WHERE `id` = #{pojo.id} update>mapper>
mybatis: mapper-locations: classpath*:mapper/*Mapper.xml type-aliases-package: com.wang.mybatis 2、第二种方法如下
@Mapperpublic interface UserMapper { @Insert('INSERT INTO user(name, hobby) VALUES(#{name}, #{hobby})') int insert(@Param('name') String name, @Param('hobby') String hobby); @Update('UPDATE user SET hobby=#{hobby} WHERE name=#{name}') void update(User user); @Delete('DELETE FROM user WHERE id =#{id}') void delete(Long id);} 不难看出第一种方法是比较传统的xml方式配置,而第二种方式则是去除了xml将sql配置到了注解中,简化了配置,也更符合Spring Boot的初衷。两种方法大家看自己的情况而定吧。 至此,Mybatis的相关配置完成。 ps:在此给大家安利一个Mybatis的自动化插件MyBatisCodeHelper,使用这个插件,大家只要写好实体bean,插件即可自动创建相应的sql脚本、Mapper.xml、Mapper层代码、service层代码,在Mapper层中大家还可以根据一定的规则编写方法名称,插件自动根据方法名称在xml生成相应的配置。 插件地址:https://www.oschina.net/news/81912/mybatiscodehelper-1-2
|
|
来自: 昵称37424840 > 《待分类》