java 调用ORMlite 实现sqlite 本地文件对象存储,原创,转载请注明出处!
SqliteHelper.java
package annhoa.sqlite; import java.sql.SQLException; import java.util.Collection; import java.util.List; import java.util.logging.Logger; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.dao.DaoManager; import com.j256.ormlite.jdbc.JdbcConnectionSource; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; /** * @author annhoa * @param <T> * @date create 2018/1/19 update 2018/4/27 * @decript sqlite */ @SuppressWarnings({"unchecked", "rawtypes", "static-access"}) public class SqliteHelper { private static final Logger logger = Logger.getLogger(SqliteHelper.class.toString()); private static Dao daoSupport; private static String SQLPATH = "jdbc:sqlite:sqlite.db"; public static <T> Dao getDaoSupport(Class<T> clazz) throws SQLException { daoSupport = DaoManager.createDao(getConnectionSource(), clazz); return daoSupport; } public void setDaoSupport(Dao daoSupport) { this.daoSupport = daoSupport; } public static <T> void init(Class<T> clazz) { try { TableUtils.createTableIfNotExists(getConnectionSource(), clazz); } catch (Exception exception) { logger.info("创建表失败:{}"+ exception.getMessage()); } } public static ConnectionSource getConnectionSource() throws SQLException { return new JdbcConnectionSource(SQLPATH); } /** * 新增 * @param <T> * * @param t * 泛型对象 * @throws SQLException */ public <T> void save(T t) throws SQLException { init(t.getClass()); this.getDaoSupport(t.getClass()).create(t); } /** * 根据Id删除 * @param <T> * * @param id * 对象id参数 * @return * @throws SQLException */ public <T> int deleteById(T t,Integer id) throws SQLException { return this.getDaoSupport(t.getClass()).deleteById(id); } /** * 根据对象删除 * @param <T> * * @param t * 泛型对象 * @return * @throws SQLException */ public <T> int deleteById(T t) throws SQLException { return this.getDaoSupport(t.getClass()).delete(t); } /** * 根据多个对象ID批量删除 * @param <T> * * @param ids * 对象id参数集合 * @return * @throws SQLException */ public <T> int deleteByIds(T t , Collection<Integer> ids) throws SQLException { return this.getDaoSupport(t.getClass()).deleteIds(ids); } /** * 更新对象 * @param <T> * * @param t * 泛型对象 * @return * @throws SQLException */ public <T> int update(T t) throws SQLException { return this.getDaoSupport(t.getClass()).update(t); } /** * 根据对象id更新对象 * @param <T> * * @param t * 泛型对象 * @param id * 对象id参数 * @return * @throws SQLException */ public <T> int update(T t, Integer id) throws SQLException { return this.getDaoSupport(t.getClass()).updateId(t, id); } /** * 根据对象id查询对象 * @param <T> * * @param id * 对象id参数 * @return * @throws SQLException */ public <T> T queryForId(T t, Integer id) throws SQLException { return (T) this.getDaoSupport(t.getClass()).queryForId(id); } /** * 查询所有列表 * @param <T> * @param <T> * * @return * @throws SQLException */ public <T> List<T> queryForAll(T t) throws SQLException { return this.getDaoSupport(t.getClass()).queryForAll(); } }
SqliteEntity.java
package annhoa.sqlite; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "sqliteEntity") public class SqliteEntity { @DatabaseField(generatedId = true) private int id; @DatabaseField(columnName = "name") private String name; @DatabaseField(columnName = "address") private String address; public SqliteEntity() { super(); } public SqliteEntity(String name, String address) { super(); this.name = name; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
SqliteTest.java
package annhoa.sqlite; import java.lang.reflect.Array; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class SqliteTest { public static void main(String[] args) { SqliteHelper sqliteHelper= new SqliteHelper(); try { // SqliteEntity sqliteEntity = new SqliteEntity( "axiba0", "ajax:java:127.0.0.0"); // SqliteEntity sqliteEntity1 = new SqliteEntity( "axiba1", "ajax:java:127.0.0.1"); // sqliteHelper.save( sqliteEntity); // sqliteHelper.save( sqliteEntity1); List<SqliteEntity> list= sqliteHelper.queryForAll(new SqliteEntity()); System.out.println(list.size()); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i).getId()); } } catch (SQLException e) { e.printStackTrace(); } } }
所需jar:
ormlite-core-5.0.jar
ormlite-jdbc-5.0.jar
sqlite-jdbc-3.21.0.1.jar
相关推荐
sqlite orm android java
主要对比了OrmLite与SQLite对数据库操作
Google开源的基于Android的Sqlite对象关系映射框架 ormlite 压缩包里包含 ormlite-android-4.30.jar 及帮助文档、ormlite-core-4.30.jar核心包 当然也支持在Java中的Jdbc中使用类似Hibernate Sqlite驱动包、ormlite...
关于java对SQLite和sql的封装类,可以实现增删改,查,事务操作
sqlite 是一个轻量化的数据库, 多数在移动设备中使用, 该例子在 eclipse 中使用java 调用。
java实现sqlite数据库的创建和增删查改的一个项目,项目为未完成的一个电话本记录系统,在电话本的分组中,已经都实现了数据库操作的增删查改(如果需要看实现增删查改的代码,需要查看电话本的分组功能)并且用util...
java读取本地.db文件简单方法,sqlite数据库类型文件获取数据
java操作sqlite 链接的时候需要用这个驱动进行链接
Springboot + SQLite 实现SQLite数据文件随意切换,切换SQLite数据源 1、新建生成DataSource得Bean,详情看源码得DataSourceAutoConfiguration类 2、切换SQLite数据源或文件DemoController类
java连接SQLite的jar文件(v056)
java后台springboot,利用spatialite,创建sqlite文件,写入离线矢量数据。注意:spatialite文件夹下文件放system32下
用传参数的方法实现Java对SQLite的添加和查询(不用拼接sql语句的方法,不用屏蔽单引号,工程包括sqlite-jdbc-3.27.2.1.jar)
android SQLite实现本地登录注册功能,SQLite简单应用(android studio)
Java连接本地SQLite数据库,访问SQLite数据。
sqlite-jdbc-3.8.11.1.jar,sqlite-jdbc-3.23.1 .jar 谢谢大家的支持!
通过相关配置,删除数据后,实现SQLite3设置数据库文件自动收缩
安卓本地数据库SQLite的简单操作,可以作为安卓开发的参考
SQLite JDBC是一个用于在Java中访问和创建SQLite数据库文件的库。我们的SQLiteJDBC库不需要配置,因为主要操作系统的本机库,包括Windows,Mac OS X,Linux等,被组装成一个JAR(Java Archive)文件。用法非常简单;...
采用ormlite 直接将对象实例简称sqlite库并在Activity中使用
Delphi7调用sqlite数据库实例,包含2个pas文件,一个dll文件,调用代码介绍,最全最实用最简单的Delphi7调用sqlite数据库资源. Delphi7调用SQLite数据库使用方法: 1. 在项目中添加SQLite3.pas、SQLiteTable3.pas这2...