1.什么是sqlite?
官方解释:
SQLite 是一个 C 语言库,它实现了一个小型、快速、自包含、高可靠性、全功能、 SQL 数据库引擎。 SQLite是世界上使用最多的数据库引擎。 SQLite内置于所有手机和大多数计算机中,并且 捆绑在人们的无数其他应用程序中 每天使用。更多信息...
SQLite 文件格式稳定、跨平台且 向后兼容,开发人员承诺保持它 这样到2050年。SQLite数据库 文件通常用作传输富的容器 系统之间的内容 [1] [2] [3] 和作为长期存档格式的内容 对于数据 [4]。 有超过 1 万亿 (1e12) SQLite 数据库正在使用中 [5]。
SQLite源代码属于公共领域,可以免费 每个人都可以用于任何目的。
简单来说,无需安装的小型的关系型数据库,可以即拆即用的数据库,可以快速搭建小型的项目。
2.新建sqlite 数据库
选择sqlite
选择新建sqlite3 、2 都可以的根据自己需求
桌面上就生成了 .db 文件
3.新建项目
新建一个springboot + mybatis项目
将demo.db转移到resourses中
Maven 新加入SQLite 驱动
<!-- SQLite 驱动 -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.21.0.1</version>
</dependency>
yaml 配置文件
spring:
datasource:
driver-class-name: org.sqlite.JDBC
url: jdbc:sqlite::resource:sql/demo.db
#mybatis
mybatis:
mapperLocations: classpath*:mapper/*.xml
在navicat中运行sql
CREATE TABLE "user" (
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"username" TEXT,
"sex" TEXT,
"age" INTEGER
);
新建user类
@Data
public class User {
private Integer id;
private String username;
private String sex;
private Integer age;
}
新建userDao
@Mapper
@Component
public interface UserDao {
int insert(User user);
User select(Integer id);
List<User> selectAll();
int delete(Integer id);
int update(User user);
}
新建mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laoxu.test.sqlitedemo.mapper.UserDao">
<resultMap id="userMap" type="com.laoxu.test.sqlitedemo.model.User">
<result property="id" column="id"/>
<result property="username" column="username"/>
<result property="sex" column="sex"/>
<result property="age" column="age"/>
</resultMap>
<insert id="insert" parameterType="com.laoxu.test.sqlitedemo.model.User">
insert into user (
username,
sex,
age
)
VALUES (
#{username},
#{sex},
#{age}
)
</insert>
<update id="update" parameterType="com.laoxu.test.sqlitedemo.model.User">
update tb_user
set username=#{username},
sex=#{sex},
age = #{age}
where id=#{id}
</update>
<delete id="delete">
DELETE FROM tb_user
WHERE id = #{id}
<!--IN
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>-->
</delete>
<select id="select" parameterType="java.lang.Integer" resultMap="userMap">
select id, username, sex, age
from tb_user
where id = #{id}
</select>
<select id="selectAll" resultMap="userMap">
select id,username,sex,age
from tb_user
</select>
</mapper>
测试
@Test
void contextLoads() {
User user = new User();
user.setUsername("蔡徐坤");
user.setAge(25);
user.setSex("鸡");
int insert = userDao.insert(user);
System.out.println("插入成功");
List<User> users = userDao.selectAll();
System.out.println(users);
}