ormlite 不支持联合主键 可以用两个字段拼成主键的形式来实现。
bean这样写:
/**
* 模拟把id和uname设置为联合主键 用id+uname拼成的字符串做主键
*/
@DatabaseField(id=true)
private String id;
@DatabaseField
private String uid;
@DatabaseField
private String uname;
dao层这样写:
public void add(UserBean userBean){
try {
userBean.setId(userBean.getUid()+userBean.getUname());
dao.createOrUpdate(userBean);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
测试:
UserDao dao = new UserDao(this);
dao.add(new UserBean("1", "a"));
dao.add(new UserBean("1", "b"));
dao.add(new UserBean("2", "a"));
dao.add(new UserBean("1", "a"));//根据联合主键 这条信息和第一个重复不会插入数据库
List<UserBean> list = dao.get();
for (UserBean userBean2 : list) {
System.out.println(userBean2);
}
Demo下载地址: http://download.youkuaiyun.com/detail/u013250921/6847763