网上看了很多Spring boot + Maven + mybatis + sqlite的配置,发现了很多坑,尤其是涉及到有增删改查的问题时候,这里整理了一下,希望对大家有帮助,这里用的是Spring boot 2.2.1 release,Intellij Idea的mavn工程,有问题也可以提出,我会补充。
一、 pom.xml配置
properties里面是java sdk的版本,mybatis的版本和sqlite的版本
dependency是相关添加的依赖
二、 application.properties的配置
yml和这个两个格式不一样,要注意
spring.datasource.url=jdbc:sqlite:data.db这句是把数据库放到了项目根目录下,上图可看到.
**注意:**resources目录下千万不要方,放了会导致增删改操作成功了,但是数据库没有看到变动
mybatis-config.xml是mybatis的全局配置文件
mybatis.mapper-locations= classpath:mybatis/mapper/*.xml指明了要配置的SQL映射文件的目录如上图所示。
mybatis.typeAliasesPackage= com.xx.xx.entity为实体所在的包路径(具体根据自己创建的项目包路径填写)
三、mybatis-config.xml配置
**注意:**datasource.driver等属性与第二步中的application.properties中sql的配置属性对应的
四、正式开始创建sqlite、 entity、mapper、service、controller
1、Sqlite创建
自己创建一个sqlite数据库(新键文本文档,将后缀名改为db即可,我这里创建的为data.db)
2、entity
在自己工程包路径下的entity创建一个User实体:
3、UserMapper
UserMapper的接口定义
注意:
@Mapper表示此接口会进行Mapper映射
@Component表示框架可以注册的组件
UserMapper的xml 映射
注意:
namespace中的包路径要与具体映射的接口对应
resultMap 中type属性要对应具体的entity,其下的子节点是entity属性的描述
select insert delete update中的id要与映射的接口函数名对应
4、service
注意:
@Transactional为要进行事务的函数标注(这点在这个demo中没有仔细研究,增删改,不加这个标注也能成功)框架事务默认是关闭的,要在程序入口开启@EnableTransactionManagement
我这代码示例如下:
5、controller
select和增加的log结果
------------END-----------
领取专属 10元无门槛券
私享最新 技术干货