最小数据库sqlite学习

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 19:16   1079   0

一、首先登陆http://www.sqlite.org/下载sqlite数据库。

此次学习下载的版本是:sqlite-shell-win32-x86-3080900.zip

二、将下载的文件解压到相应的目录后即完成了安装。(是不是超级简单:)),解压完成后只有一个文件sqlite3.exe

三、打开cmd命令窗口。进入到sqlite的安装目录(shell版本的目录中),运行命令:sqlite3 mydb.db,即创建了一个数据库名称为mydb的数据库

四、建表:

create table t_person(
  p_id integer,
  p_name text(30),
  p_age integer
);
即创建了一个简单的表。crud所使用的语句和普通的sql几乎相同。

五、c3p0使用sqlite数据库在spring中的配置如下:驱动下载地址:https://bitbucket.org/xerial/sqlite-jdbc/downloads

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
 <property name="driverClass">
  <value>org.sqlite.JDBC</value>
 </property>
 <property name="jdbcUrl">
  <value>jdbc:sqlite:f:/a/sqlite-shell/test.db</value>
 </property>
 <!--连接池中保留的最小连接数。 -->
 <property name="minPoolSize" value="10" />
 <!--连接池中保留的最大连接数。Default: 15 -->
 <property name="maxPoolSize" value="100" />
 <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
 <property name="maxIdleTime" value="1800" />
 <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
 <property name="acquireIncrement" value="5" />
 <property name="maxStatements" value="1000" />
 <property name="initialPoolSize" value="10" />
 <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
 <property name="idleConnectionTestPeriod" value="60" />
 <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
 <property name="acquireRetryAttempts" value="30" />
 <property name="breakAfterAcquireFailure" value="true" />
 <property name="testConnectionOnCheckout" value="false" />
</bean>
六、使用jdbc连接sqlite数据库

首先导入sqlite驱动包,可以在https://bitbucket.org/xerial/sqlite-jdbc/downloads下载

public static User getUser(Integer userId) throws Exception{
 User user = new User();
 Class.forName("org.sqlite.JDBC");
 Connection c =DriverManager.getConnection("jdbc:sqlite:"+"f:/a/sqlite-shell/test.db");
 System.out.println("jdbc:sqlite:"+"f:/a/sqlite-shell/test.db");
 String sql ="select * from t_user where user_id =1";
 Statement stat = c.createStatement();
 ResultSet rs = stat.executeQuery(sql);
 while(rs.next()){
  user.setUserId(rs.getInt("user_id"));
  user.setUserName(rs.getString("user_name"));
 }
 return user;
}
默认sqlite数据库没有用户名和密码。






分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP