根据日期查询数据库中的信息
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 ?");就可以实现
相关文章推荐
- SQLite 存储模型(1)
- redis高可用之REDIS SENTINEL
- Mysql(一) - 数据库和表的基本操作 及 数值类型
- SQLite 浅谈SQLite的虚拟机
- SQLite 再谈SQLite的锁
- SQLite Page Cache之并发控制
- SQL Server查看所有表大小,所占空间
- SQLite3.3.6 源代码文件结构
- C# 事务之SqlTransaction
- MongoDB快速入门(四)- 插入文档
- 在sql server中查询包含某一字段的表
- SQLite Page Cache之事务处理(3)
- mysql集群之MYSQL CLUSTER
- Win7 64位安装MySQL
- MongoDB快速入门(三)- 集合
- Hibernate-Native SQL
- 比较两个数据库所有表的字段
- SQLite Page Cache之事务处理(2)
- SQLite 内核概述(2)
- 云栖神侠传—阿里云数据库专家德歌告诉你PostgreSQL的那些事