一直用的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包中
package com.sys.dao.impl;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
-
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 != rs) {
try {
rs.close();
} catch (SQLException ex) {} rs = null;
}
}
}
- 數據源
(4)UserDaoImpl的重寫
package com.sys.dao.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.sys.dao.UserDao;
import com.sys.entity.User;
@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,請求接口