一直用的mysql数据库,最近有个项目需要用到SQLite数据库
好吧 只能在原先的框架上删除一些配置进行修改了。
先从SQLite小白开始
1.安装SQlite
SQLite下载地址:https://www.sqlite.org/download.html
我下载了这两个文件,创建文件夹 E:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。
添加 E:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果:
2.安装Sqlite Studio
下载地址:https://sqlitestudio.pl/index.rvt?act=download
3.安装之后新建一个数据库
新建一张user表如下:
4.改配置
(1)pom.xml 引入SQLite临街数据库的jar包 ,如果下载不了,就手动下载放到maven库里面
jar包云盘链接 : https://pan.baidu.com/s/1D4VEQ0qeKT2_OVPupzg8DA
<!-- sqlite 数据库连接 -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.7.2</version>
</dependency>
(2)更改spring-content.xml 的配置
<!-- 定义数据源Bean-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 指定连接数据库的驱动 -->
<property name="driverClassName" value="org.sqlite.JDBC" />
<!-- 指定连接数据库的URL -->
<property name="url" value="jdbc:sqlite:E:/sqlite/dbc.db" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
(3)增加SQLite工具类到DaoImpl包中
/**
* sqlite的工具类
*/
@Repository
public class SqliteUtil {
/**
* 数据源
*/
@Resource
private DataSource sqliteDataSource;
/**
* 获取数据库连接
*
* @return conn
*/
public Connection getConnection() throws SQLException {
Connection conn = sqliteDataSource.getConnection();
conn.setAutoCommit(false);
return conn;
}
/**
* 关闭数据库连接
*
* @param conn
*/
public void close(Connection conn, Statement stmt, ResultSet rs) {
if (null != rs) {
try {
rs.close();
} catch (SQLException ex) {
}
rs = null;
}
if (null != stmt) {
try {
stmt.close();
} catch (SQLException ex) {
}
stmt = null;
}
if (null != conn) {
try {
conn.close();
} catch (SQLException ex) {
}
conn = null;
}
}
}
(4)UserDaoImpl的重写
@Repository("userDao")
public class UserDaoImpl implements UserDao {
@Autowired
private SqliteUtil sUtil;
private JdbcTemplate jdbcTemplate;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
@Override
public List<User> findUserList() {
List<User> userList = null;
try {
conn = sUtil.getConnection();// 链接数据库
stmt = conn.createStatement();// 创建数据库
String sql = "select * from User ";// 编写sql语句
rs = stmt.executeQuery(sql);
User user = null;
userList = new ArrayList<User>();// 户政集合
while (rs.next()) {
user = new User();
user.setId(rs.getLong("id"));
user.setName(rs.getString("name"));
user.setPhone(rs.getString("phone"));
userList.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
sUtil.close(conn, stmt, rs);// 关闭数据库
}
return userList;
}
}
(5)测试
完善相应的controller和service,请求接口