原有的SSM的基础上切换数据库mysql为SQLlite

4 篇文章 0 订阅
1 篇文章 0 订阅

一直用的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,请求接口
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值