博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot 和 mybatis集成
阅读量:5256 次
发布时间:2019-06-14

本文共 3759 字,大约阅读时间需要 12 分钟。

1、pom.xml 添加mybatis和mysql依赖

    
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.2.0
mysql
mysql-connector-java
5.1.41

2、application.properties 里面配置数据库信息

#数据库数据源配置spring.datasource.url=jdbc:mysql://localhost/demo?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=truespring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver

3、配置mybatis,有两种方式,一种用注解,一种用xml,一般习惯用XML。

  • 用注解
@Mapperpublic interface UserMapper {    /**     * 查询所有用户     * @return     */    @Select("select id,name,age FROM tb_tic_user")    List
selectAll();}
public class UserDo implements Serializable{    private static final long serialVersionUID = -7488908967791971359L;    private int Id;    private String name;    private int age;    public int getId() {        return Id;    }    public void setId(int id) {        Id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "UserDo{" +                "Id=" + Id +                ", name='" + name + '\'' +                ", age=" + age +                '}';    }}
@Controllerpublic class IndexController {    @Autowired    UserMapper userMapper;    @RequestMapping("/selectAll")    public @ResponseBody List
selectAll(){ return userMapper.selectAll(); }}

启动不报错,用注解配置成功,主要是在Mapper类上增加@Mapper注解,sql语句用注解放在方法上面。配置简单,但是会有重复代码,不推荐。

  • 用xml配置,增加配置类用来扫描mapper接口

  application.properties 中增加mybatis配置

#mybatis配置mybatis.mapper-locations=classpath:mapper/*.xmlmybatis.type-aliases-package=com.example.demo.domain
@Configuration@MapperScan(value = "com.example.demo.mapper")public class MybatisConfig {}
package com.example.demo.mapper;import com.example.demo.domain.Test;public interface TestMapper {    int deleteByPrimaryKey(Integer id);    int insert(Test record);    int insertSelective(Test record);    Test selectByPrimaryKey(Integer id);    int updateByPrimaryKeySelective(Test record);    int updateByPrimaryKey(Test record);}
ID, NAME
delete from tb_tic_test where ID = #{id,jdbcType=INTEGER}
insert into tb_tic_test (ID, NAME) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR})
insert into tb_tic_test
ID,
NAME,
#{id,jdbcType=INTEGER},
#{name,jdbcType=VARCHAR},
update tb_tic_test
NAME = #{name,jdbcType=VARCHAR},
where ID = #{id,jdbcType=INTEGER}
update tb_tic_test set NAME = #{name,jdbcType=VARCHAR} where ID = #{id,jdbcType=INTEGER}
@Controllerpublic class IndexController {       @Autowired    TestMapper testMapper;       @RequestMapping("/test")    public @ResponseBody Test test(){        return testMapper.selectByPrimaryKey(1);    }}

习惯用xml,这样方便把基础方法提出来

转载于:https://www.cnblogs.com/foreverYoungCoder/p/8251418.html

你可能感兴趣的文章
二维数组名就是二级指针,但是又不能像下面这样操作
查看>>
第十周编程总结
查看>>
Python 错误和异常
查看>>
67. Add Binary
查看>>
131. Palindrome Partitioning
查看>>
038--HTML
查看>>
Android入门书籍推荐《learning android》
查看>>
Sencha touch 开发系列:移动应用开发之组件
查看>>
mysql 数据备份及pymysql模块
查看>>
python 连接MySQL
查看>>
星际地图2
查看>>
第二次冲刺个人博客07
查看>>
Andriod串口通信开发(免ROOT权限)
查看>>
硬币表示
查看>>
[转载] Discovery——蛇之美
查看>>
[转载] 杜拉拉升职记——28 空手套白狼
查看>>
微服务网关从零搭建——(五)修改网关身份验证指定部分
查看>>
poj 3264 Balanced Lineup(线段数求区间最大最小值)
查看>>
php中读写excel表格文件示例。
查看>>
Newtonsoft.Json2.0下面序列化和反序列化
查看>>