您的位置:首页 > 数据库

根据日期查询数据库中的信息

2016-04-11 16:58 387 查看
已知有如下数据库,表名叫做mysql:id     name       telephone         age        birthday               emial1 Lily15183940445 221988-04-22354329404@qq.com2 Mary15755540445 211989-04-02354329404@163.com4 Kimy15083940445 201990-12-05778329404@qq.com5 Slimy13983940445 241986-10-22354376574@51.com6 Limy18353369034 242016-04-09664668204@qq.com7 linlin15128394031 192000-01-14442473829@qq.com8 limi17092847384  221991-01-23yingxingls@139.com1、想通过精确的 birthday日期来查询数据库中的信息,如在MySQL数据库中查询,使用如下命令:select * from mysql where name='1986-10-22';即可以查找出符合的信息:5 Slimy13983940445 241986-10-22354376574@51.com那么如何使用Java通过JDBC桥梁实现呢?//创建一个人物类
public class Goddess {private Integer id;private String name;private Integer age;private Date birthday;private String tele;private String email;public Goddess() {}}
//查询方法
public List<Goddess> query(String birthday) throws Exception  {Connection connection=JDBC.Getconnection();StringBuilder sql=new StringBuilder();//这里使用StringBuilder类型可以不断的增加命令sql.append(" select * from mysql where birthday=?");PreparedStatement pstatement=connection.prepareStatement(sql.toString());pstatement.setString(1, birthday);ResultSet rSet=pstatement.executeQuery();List<Goddess> goddesses=new ArrayList<>();Goddess gods=null;while(rSet.next()){//别忘了对gods进行初始化;gods=new Goddess();gods.setId(rSet.getInt("id"));gods.setName(rSet.getString("name"));gods.setAge(rSet.getInt("age"));gods.setBirthday(rSet.getDate("birthday"));gods.setTele(rSet.getString("tele"));gods.setEmail(rSet.getString("email"));goddesses.add(gods);}System.out.println(sql);return goddesses;}
//打印方法
public static void tell(Goddess goddess) {System.out.println("编号:"+goddess.getId());System.out.println("姓名:"+goddess.getName());System.out.println("年龄:"+goddess.getAge());System.out.println("生日:"+goddess.getBirthday());System.out.println("电话:"+goddess.getTele());System.out.println("邮箱:"+goddess.getEmail());}
//主方法中调用
public class Control {public static void main(String[] args) throws Exception  {System.out.println("输入查询女神的名字的一部分:");List<Goddess> goddess=action.query(”1986-10-22“);System.out.println("下面是该女神的详细信息:");for (Goddess goddess2 : goddess) {tell(goddess2);//依次打印出符合条件的女神信息System.out.println("--------------------------");}}}
2、想通过不精确的 birthday日期来查询数据库中的信息,如在MySQL数据库中查询,使用如下命令:select * from mysql where name='%1986%';就可以找出数据库中所有出生日期是1986年的人物即可以查找出符合的信息:5 Slimy13983940445 241986-10-22354376574@51.com使用Java通过JDBC桥梁实现时,只需要把sql.append(" select * from mysql where birthday=?");改成sql.append(" select * from mysql where birthday like ?");就可以实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: