一个简单的数据库数据存入取出动作,为什么出现有关问题
一个简单的数据库数据存入取出动作,为什么出现问题?
我用的play框架...
问题是这样的:
getParentList方法是这样的:
可是不知道为什么idFromDBSize总是等于0,应该等于1才对啊!?不知道为什么???
------解决方案--------------------
insertTime 设置小点吧,而且应该insert后再取值,另外SQL语句的>应该是>=
如果数据库服务器跟你本机不是一台的话,你还得检查时间是否一致。
总的来说,你这个程序的逻辑很奇怪,万一是并发写入多条数据,你这个不是就乱了?
我用的play框架...
问题是这样的:
- Java code
public static void addParent() throws InterruptedException { // 写死 Date insertTime = new Date(); Parent parent = new Parent(); parent.fullName = "新增家长"; parent.fullNamePinyin = "xin zeng jia zhang"; parent.save();//往数据库里面存入一条数据 List<Long> idFromDB = methodForDocs.getParentList(insertTime);//紧接着从数据库里面取出该条数据(更具createTime字段) System.out.println("idFromDBSize:" + idFromDB.size()); for (int i = 0; i < idFromDB.size(); i++) { System.out.println("***idFromDB:" + idFromDB.get(i)); } renderJSON(new Result("测试通过!")); }
getParentList方法是这样的:
- Java code
(该方法是没有问题的) public static List<Long> getParentList(Date insertTime) { String hql = "select id from Member where createTime>?"; System.out.println("insertTime:" + insertTime.toString()); List<Long> ids = Member.find(hql, insertTime).fetch(); return ids; }
可是不知道为什么idFromDBSize总是等于0,应该等于1才对啊!?不知道为什么???
------解决方案--------------------
insertTime 设置小点吧,而且应该insert后再取值,另外SQL语句的>应该是>=
如果数据库服务器跟你本机不是一台的话,你还得检查时间是否一致。
总的来说,你这个程序的逻辑很奇怪,万一是并发写入多条数据,你这个不是就乱了?