博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot 集成 MyBatis和 SQL Server实践
阅读量:6325 次
发布时间:2019-06-22

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

文章共 509字,阅读大约需要 2分钟 !


概 述

Spring Boot工程集成 MyBatis来实现 MySQL访问的示例我们见过很多,而最近用到了微软的 SQL Server数据库,于是本文则给出一个完整的 Spring Boot + MyBatis + SQL Server 的工程示例。

注: 本文首发于 ,欢迎光临


工程搭建

  • 新建 Spring Boot工程
  • pom.xml 中添加 MyBatis和 SQL Server相关的依赖
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
com.microsoft.sqlserver
sqljdbc4
4.0
复制代码
  • 配置 application.properties

这里同样主要是对于 MyBatis 和 SQL Server连接相关的配置

server.port=89# mybatis 配置mybatis.type-aliases-package=cn.codesheep.springbt_mybatis_sqlserver.entitymybatis.mapper-locations=classpath:mapper/*.xmlmybatis.configuration.map-underscore-to-camel-case=true## -------------------------------------------------## SqlServer 配置spring.datasource.url=jdbc:sqlserver://xxxx:1433;databasename=MingLispring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriverspring.datasource.username=xxxxspring.datasource.password=xxxx复制代码

建立 SQL Server数据表和实体类

  • 首先在 SQL Server数据库中新建数据表 user_test作为测试用表
DROP TABLE [demo].[user_test]GOCREATE TABLE [dbo].[user_test] ([user_id] int NOT NULL ,[user_name] varchar(50) NOT NULL ,[sex] tinyint NOT NULL ,[created_time] varchar(50) NOT NULL )GO复制代码
  • 然后在我们的工程中对应建立的 User实体类

其字段和实际数据表的字段一一对应

public class User {    private Long userId;    private String userName;    private Boolean sex;    private String createdTime;    public Long getUserId() {        return userId;    }    public void setUserId(Long userId) {        this.userId = userId;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public Boolean getSex() {        return sex;    }    public void setSex(Boolean sex) {        this.sex = sex;    }    public String getCreatedTime() {        return createdTime;    }    public void setCreatedTime(String createdTime) {        this.createdTime = createdTime;    }}复制代码

Mybatis Mapper映射配置

  • MyBatis映射配置的 XML文件如下:
insert into user_test ( user_id, user_name, sex, created_time ) values ( #{userId}, #{userName}, #{sex}, #{createdTime} )
delete from user_test where user_name = #{userName}
复制代码
  • 与此同时,这里也给出对应 XML的 DAO接口
public interface UserMapper {    List
getAllUsers(); int addUser( User user ); int deleteUser( User user );}复制代码

为了试验起见,这里给出了 增 / 删 / 查 三个数据库操作动作。


编写 Service 和测试Controller

  • 上面这些准备工作完成之后,接下来编写数据库 CRUD的 Service类
@Service@Primarypublic class UserServiceImpl implements IUserService {    @Autowired    private UserMapper userMapper;    @Override    public List
getAllUsers() { return userMapper.getAllUsers(); } @Override public int addUser(User user) { SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); user.setCreatedTime( form.format(new Date()) ); return userMapper.addUser( user ); } @Override public int deleteUser(User user) { return userMapper.deleteUser( user ); }}复制代码

这里的 Service功能同样主要关于数据表的 增 / 删 / 查 三个数据库操作动作。

  • 对照着上面的Service,我们编写一个对应接口测试的Controller
@RestControllerpublic class UserController {    @Autowired    private IUserService userService;    @RequestMapping(value = "/getAllUser", method = RequestMethod.GET)    public List
getAllUser() { return userService.getAllUsers(); } @RequestMapping(value = "/addUser", method = RequestMethod.POST) public int addUser( @RequestBody User user ) { return userService.addUser( user ); } @RequestMapping(value = "/deleteUser", method = RequestMethod.POST) public int deleteUser( @RequestBody User user ) { return userService.deleteUser( user ); }}复制代码

实验测试

  • 插入数据

依次用 POSTMAN通过 Post /addUser接口插入三条数据:

{
"userId":1,"userName":"刘能","sex":true}{
"userId":2,"userName":"赵四","sex":false}{
"userId":3,"userName":"王大拿","sex":true}复制代码

插入完成后去 SQL Server数据库里看一下数据插入情况如下:

  • 查询数据

调用 Get /getAllUser接口,获取刚插入的几条数据

  • 删除数据

调用 Post /deleteUser接口,可以通过用户名来删除对应的用户


后 记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!

  • My Personal Blog:


长按扫描 下面的 小心心 来订阅作者公众号 CodeSheep,获取更多 务实、能看懂、可复现的 原创文 ↓↓↓


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

你可能感兴趣的文章
第25周六
查看>>
[转]CENTOS LINUX安装并使用NFS共享文件
查看>>
Android AES加密算法及其实现
查看>>
Entity Framework公共的增删改方法
查看>>
hdu1698 Just a Hook 线段树:成段替换,总区间求和
查看>>
dorado spring知识补充
查看>>
Android -- ViewPager、Fragment、状态保存、通信
查看>>
如果想消除随机性的感觉
查看>>
.NET网站自动浏览器分享,解决IIS6应用池回收后第一次访问慢问题
查看>>
关于验证码识别3
查看>>
【JavaScript】javascript常用的东西
查看>>
Cucumber 入门一
查看>>
c++ 单例模式
查看>>
JAVA反射机制
查看>>
Java几款性能分析工具的对比
查看>>
SVN使用教程总结
查看>>
Chrome各个版本小常识
查看>>
阿里云图片压缩上传代码
查看>>
java关于split分割字符串,空的字符串不能得到的问题
查看>>
JavaScript函数式编程
查看>>