数据库中仅存身份证号通过JavaBean获取生日和年龄
来源:互联网 发布:淘宝店铺打印快递单 编辑:程序博客网 时间:2024/05/16 01:34
最近在做人事管理系统,优化数据库后,想在数据库中只存有身份证号就可以自动显示出生日期和年龄。
JavaBean代码:
private int person; private String IDNumber; private Date birthday;//通过身份证号码获取出生日期 private int age;//通过出生日期获取年龄 public String getIDNumber() { return IDNumber; } public void setIDNumber(String iDNumber) { IDNumber = iDNumber; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { try { /*SimpleDateFormat()方法 降字符串类型转换为Date类型*/ /*parse()方法 提取租字符串8-14为出生日期 返回值类型为String*/ this.birthday = new SimpleDateFormat("yyMMdd").parse(this.IDNumber.substring(8, 14)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public int getAge() { return age; } public void setAge(int age) { Date nowTime = new Date(System.currentTimeMillis());//获取系统当前时间 this.age = nowTime.getYear() - this.birthday.getYear(); }
在做数据查询时只能查询IDNumber,如果查询其他的用getInt(“age”)和getDate(“birthady”)方法数据库系统就会抛出异常
因为数据库字段就没没有出生日期和年龄这两列,所以Result中就不能用get方法获取。
正确做应该是:
public ElderMessage selPseson() { // TODO Auto-generated method stub ElderMessage em = null; String sql = "select * from person; conn = this.getConnection(); try { pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()){ em = new ElderMessage(); em.setIDNumber(rs.getString("IDNumber"));// 用get方法获取Result中的信息 em.setBirthday(em.getBirthday());//调用JavaBean中的setBirthday()方法初始化出生日期,调用get方法作为getBirthday()方法的引用参数 em.setAge(em.getAge()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return em; }
JavaBean不需要和数据库中的字段完全相同,一定情况通过重写set()方法可以让程序富有更大的变化。身份证号不仅仅可以计算出出生日期和年龄,还可以有更多的计算方法,当我用到比较健壮和完善的系统时,可以用这样的方法进行重写,不仅减小了数据库的负担,而且提高了数据灵活性。但计算量增加会影响程序的运速度,在同一体统中考虑JavaBean的应用范围,尽量减少计算次数,提高应用效率:或是在数据库库管理软件中创建视图,在这没有行那方面深入探讨,各路大神是否有更加的解决方案,希望多多留言。
阅读全文
0 0
- 数据库中仅存身份证号通过JavaBean获取生日和年龄
- 通过身份证号动态获取生日、性别、年龄
- 通过身份证号获取年龄
- 通过生日获取年龄
- JavaScript 通过身份证号获取出生日期、年龄、性别 、籍贯
- js获取身份证获得生日和年龄
- Excel表格中根据身份证号获取出生日期、生日、年龄、性别、工龄、退休龄
- 根据生日 获取年龄
- 生日获取年龄
- PHP通过生日计算年龄,获取汉字首字母
- 随机生成身份证号和年龄
- MySQL根据生日获取年龄
- 身份证小工具,知道身份证号,可以解析出身份证号是否通过校验、性别、年龄和出生所在地
- MySql 根据身份证号获取省份、年龄、性别
- Java-根据身份证号获取年龄,性别,出生日期
- 根据身份证号获取该身份证号所属人的年龄
- 通过生日计算年龄(java demo)
- 输入身份证号和年份计算年龄
- 安卓开发——显示网速
- Android dumpstate 工具解析
- 代码混淆后自定义view报空指针
- jieba “结巴”中文分词:做最好的 Python 中文分词组件
- [凸包] BZOJ1069: [SCOI2007]最大土地面积
- 数据库中仅存身份证号通过JavaBean获取生日和年龄
- 编程作业题之二-临时抱佛脚
- Opencv中将图片的像素值保存到vector容器中,并保存为文本文档
- 悲观锁
- 图论总结 下
- 浅谈关于移动端自动化构建
- QDU 良辰最喜欢良辰最喜欢对那些自认能力出众的人出手(Lucas定理推广)
- 网络请求之HTTP和HTTPS
- Android之启动模式