mybatis 新增语句_二、springBoot 整合 mybatis 项目实战

d73f2ef677ea6f816c7b8efb7bf85171.png

前言

上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用的是jdbcTemplate。项目中肯定不会这样使用,上篇文章也说了,会结合mybatis 或者JPA 使用。我们这篇文章就来结合 mybatis 来使用吧,至于为什么选mybatis 而不是JPA ,这个看个人洗好吧。然后这篇文章会附带一讲一下今天为项目新增的配置。主要是为了保持项目和文章的一致性。

先贴出我们今天项目的结构吧,和昨天贴出来的差不多,在那基础上添加了一些东西,整个框架的模型算是成型了。

f0476469a97bf85dd8834eac7356e076.png

引入mybatis依赖

一般改动都是从pom.xml 开始的,我们在昨天基础上的pom.xml 文件中加上mybatis 依赖,版本自己选吧。

org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.0

Entry层

昨天我们创建了一个user表 并插入了一条数据,我们就先用这张表吧,所以我们在entry 包中创建一个UserEntry 的实体类.代码如下:

@Getter@Setterpublic class UserEntry { private int id; private String userName; private String password; private String email; private String roleCode; private String roleName; private String gmtCreate; private String gmtUpdate; private String nickname; private String userCreate;}

可以看到这里用的注解和@Getter 和@Setter。这里就是避免代码中写入过多的get和 set 方法,使得代码变得更加简洁。

Dao 层

Dao是用来处理数据的,这里我们引入了mybatis ,可以使用注解,也可以创建xml 文件,将sql 语句写在xml 文件中。我们这里就采用注解的方式吧,毕竟我们springboot项目,不想再出现xml配置文件了(后期也说不定哈哈)。

在dao包下创建一个userMapper 接口。代码如下:

@Mapperpublic interface UserMapper { @Select("select id,username as userName,password,email,role_code as roleCode,gmt_create as gmtCreate,gmt_update as gmtUpdate,nickname as nickName,user_create as userCreate from sys_user") List findUserList(); @Insert({"insert into sys_user(username,password,email) values('${user.userName}','${user.password}','${user.email}')"}) int add(@Param("user") UserEntry user); @Delete("delete from sys_user where id = #{id}") int delete(int id);}

我们这里就先写一个查询、删除和插入的方法吧。可以看到,在接口上引入@Mapper 注解,然后就可以直接使用@Select 和@Insert 等注解啦,直接把注解sql 语句写在这里面就可以了。

Service 层

service层我们一般都以一个接口和一个实现接口的具体类。

service 接口

代码如下:

public interface UserService { List findUserList(); int addUser(String userName,String password,String email); int deleteUser(int id);}

serviceImpl 具体实现类。

在service 包的impl 包创建 UserServiceImpl 类。代码如下:

@Servicepublic class UserServiceImpl implements UserService { @Autowired protected UserMapper userMapper; @Override public List findUserList() { return userMapper.findUserList(); } @Override public int addUser(String userName, String password, String email) { UserEntry user=new UserEntry(); user.setUserName(userName); user.setPassword(password); user.setEmail(email); return userMapper.add(user); } @Override public int deleteUser(int id) { return userMapper.delete(id); }}

controller 层

我们在controller 包下的userinfo 包下创建UserController 类。代码如下:

@Slf4j@RestController@RequestMapping("/user")public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/list
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值