ORMLite简单使用
1、下载 ORMLite Jar
首先去ORMLite官网下载jar包
官网
2创建Bean对象
@DatabaseTable(tableName = "user_info")//创建表名 public class User { public User() { } @DatabaseField(generatedId = true)//绑定字段 private int id; @DatabaseField(columnName = "name") private String name; 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; } }
Basesql类继承OrmLiteSqliteOpenHelper
public class Basesql extends OrmLiteSqliteOpenHelper { private final static String DATABASE="myad.db"; private final static int VERSION=1; public HashMap<String ,Dao> maps=new HashMap<>(); public Basesql(Context context) { super(context, DATABASE, null, VERSION); } private static Basesql instance; public static synchronized Basesql getInstance(Context context){ if(instance==null){ synchronized (Basesql.class){ if(instance==null){ instance=new Basesql(context); } } } return instance; }; @Override public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource,User.class); } catch (SQLException e) { e.printStackTrace(); } } // public synchronized Dao getdao(Class cla) throws SQLException { Dao dao=null; String simpleName = cla.getSimpleName(); if(maps.containsKey(simpleName)){ dao=maps.get(simpleName); }else{ dao=super.getDao(cla); maps.put(simpleName,dao); } return dao; } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) { } }
UserDao数据库操作类
public class UserDao { private final Basesql instance; private Dao getdao = null; public UserDao(Context context) { this.instance = Basesql.getInstance(context); try { this.getdao = instance.getdao(User.class); } catch (SQLException e) { e.printStackTrace(); } } //添加操作 public void add(User user){ try { getdao.create(user); } catch (SQLException e) { e.printStackTrace(); } } //删除 public void detele() throws SQLException { getdao.deleteById(2); } //查询 public List<User> Query(){ List list=null; try { list = getdao.queryForAll(); } catch (SQLException e) { e.printStackTrace(); } return list; }; public void updates(User user){ try { getdao.update(user); } catch (SQLException e) { e.printStackTrace(); } } /** * 构建BUilder 删除条件比较复杂 */ // public void shanchu(User user){ // try { // UpdateBuilder updateBuilder = getdao.updateBuilder(); // //updateBuilder.where() // // } catch (Exception e) { // e.printStackTrace(); // } // } }
MainActivity测试类
public class MainActivity extends AppCompatActivity {
private final String TAG="sd";
private UserDao userDao = new UserDao(MainActivity.this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void tt(View v){
User user = new User();
user.setId(1);
user.setName("张三");
try {
// userDao.add(user);
List<User> query = userDao.Query();
for(User user1:query){
Log.d(TAG, "tt: "+user1.getId()+user1.getName());
}
} catch (Exception e) {
e.printStackTrace();
}
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
public void shan(View v){
try {
userDao.detele();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void xiu(View v){
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
// Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
User users = new User();
users.setId(2);
users.setName("李三");
userDao.updates(users);
}
public void cha(View v){
// userDao.detele();
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
}