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

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

1. 功能

连接数据库,进行增删改查操作

2. 类结构图

3. 实现

#实体UserEntity

package com.jihite.entity;import com.jihite.enums.SexEnum;public class UserEntity {    private Long id;    private String name;    private String passwd;    private SexEnum sex;    public UserEntity() {    }    public UserEntity(String name, String passwd, SexEnum sex) {        this.id = id;        this.name = name;        this.passwd = passwd;        this.sex = sex;    }    public long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPasswd() {        return passwd;    }    public void setPasswd(String passwd) {        this.passwd = passwd;    }    public SexEnum getSex() {        return sex;    }    public void setSex(SexEnum sex) {        this.sex = sex;    }    @Override    public String toString() {        return String.format("+++++ id:%s, name:%s, passwd:%s, sex:%s\n", id, name, passwd, sex);    }}

#枚举 SexEnum

package com.jihite.enums;public enum SexEnum {    MAN, WOMAN}

#接口UserMapper

package com.jihite.mapper;import com.jihite.entity.UserEntity;import com.jihite.enums.SexEnum;import org.apache.ibatis.annotations.*;import org.springframework.stereotype.Component;import java.util.List;@Componentpublic interface UserMapper {    @Select("select * from users")    @Results({            @Result(property = "name", column = "userName"),            @Result(property = "passwd", column = "passWord"),            @Result(property = "sex", column = "user_sex", javaType = SexEnum.class),    })    List
getAll(); @Select("SELECT * FROM users WHERE id=#{id}") @Results({ @Result(property = "name", column = "userName"), @Result(property = "passwd", column = "passWord"), @Result(property = "sex", column = "user_sex", javaType = SexEnum.class), }) UserEntity getOne(Long id); @Insert("INSERT INTO users(userName, passWord, user_sex) VALUES(#{name}, #{passwd}, #{sex})") void insert(UserEntity user); @Update("UPDATE users SET userName=#{name}, passWord=#{passwd} where id=#{id}") void update(UserEntity user); @Delete("DELETE from users where id=#{id}") void delete(Long id);}

#Application

package com.jihite;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("com.jihite.mapper")public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

#datasource

mybatis.type-aliases-package=com.jihitespring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.url = jdbc:mysql://ip:port/dbname?useUnicode=true&characterEncoding=utf-8spring.datasource.username = usernamespring.datasource.password = passwd

4. 注释

4.1 加载datasource

springboot会自动加载spring.datasource.*相关配置,数据源就会自动注入到sqlSessionFactory中,sqlSessionFactory会自动注入到Mapper

我们一切都不用管,直接拿起来使用就行 

4.2 对mapper包进行扫描

方法一:在启动类中添加对mapper包扫描@MapperScan

方法二:直接在Mapper类(UserMapper)上面添加注解@Mapper

建议使用方法一,不然每个mapper加个注解也挺麻烦的

 

4.3 @Result

@Result(property = "name", column = "userName")

写明了实体字段名(name)和数据库字段(userName)的对应关系

5. 代码

转载地址:http://befnl.baihongyu.com/

你可能感兴趣的文章
快速删除C#代码中的空白行
查看>>
【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (下篇)
查看>>
Laravel5.2 发送邮件(smtp方式最简单的讲解!)-邮件部分
查看>>
计算结余数
查看>>
sql server 用户创建与权限管理
查看>>
Ubuntu16.04安装搜狗拼音输入法(中文输入法)[转]
查看>>
智课雅思词汇---八、ject是什么意思
查看>>
Android中Textview显示Html,图文混排,支持图片点击放大
查看>>
微信公众平台的静默授权和网页授权区别详解
查看>>
JAVA和C#检测IP地址段是否交叉和获取地址段IP列表的方法
查看>>
深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)
查看>>
Spring Boot 整合 Thymeleaf 完整 Web 案例
查看>>
DAX的圈圈大坑:循环依赖关系错误circular dependency (单表篇)
查看>>
gitlab 备份
查看>>
系统进不去怎么办?教你利用bootice工具引导修复系统
查看>>
CentOS 7下启动postfix服务报错:fatal: parameter inet_interfaces: no local interface found for ::1...
查看>>
python测试开发django-6.模板中include使用
查看>>
博客园以后不再更新
查看>>
『流畅的Python』第13章:正确重载运算符
查看>>
Android 系统(64)---Android中m、mm、mmm、mma、mmma的区别【转】
查看>>