java连接MYSQL及查询数据记录
2016-03-21 00:00
856 查看
摘要: 数据库连接,rs.next()问题。
上面是连接数据库的Java代码。
上段代码是查询用户信息,如果数据库中只有一条数据记录,我们先判断了rs.next()是否为真。那么代码就不会执行while循环内的语句,这是因为在判断rs.next()时候,我们就取出了第一条数据,因为数据库中只有一条数据,所以while中的判断为false。
public DBConnection{ private static final String DB_DRIVER="com.mysql.jdbc.Driver"; private static final String DB_URL="jdbc.mysql://localhost:3306/demo"; private static final String DB_USERNAME="root"; private static final String DB_PASSWORD="***"; private static Connection conn=null; public static Connection getDBConnection(){ try{ //注册数据库驱动 Class.forName(DB_DRIVER); conn=DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD); system.out.println("连接数据库成功"); }catch(ClassNotFoundException|SQLException e){ system.out.println("连接数据库失败"); e.printStackTrace(); }finally{ conn,close(); } return conn; } }
上面是连接数据库的Java代码。
public DBUtil{ Connection conn=null; Preparedstatement ps=null; ResultSet rs=null; //存放结果集 //查询用户信息 public static List<User> queryUser(){ User user=null; List<User> userList=new ArryList<User>(); conn=DBConnection.getDBConection(); try{ String sql="select * from user_info"; ps=conn.preparedStatement(sql); //一般用PreparedStatement而不用Statement,preparestatement处理速度快 rs.executeQuery(); // system.out.println(rs.next); //判断rs.next(); while(rs.next()){ user=new User(); user.setId(rs.getInt(1)); user.setUserName(rs.getString(2)); user.setPassWord(rs.getString(3)); userList.add(user); } return userList; }catch(SQLException e){ system.out.println("查询用户失败"); e.printStackTrace(); }finally{ rs.close(); ps.close(); conn.close(); } } }
上段代码是查询用户信息,如果数据库中只有一条数据记录,我们先判断了rs.next()是否为真。那么代码就不会执行while循环内的语句,这是因为在判断rs.next()时候,我们就取出了第一条数据,因为数据库中只有一条数据,所以while中的判断为false。
public User{ private Int id; private String username; private String password; public void setId(int id){ this.id=id; } public Int getId(){ return id; } public void setUserName(String username){ this.username=username; } public String getUserName(){ return username; } public void setPassWord(){ this.password=password; } public String getPassWord(){ return password; } }
相关文章推荐
- SpringMVC中定时器继承Task后无法对service注入问题
- 漫谈Java实例化类
- Spring Boot 快速入门
- Maven修改默认JDK版本和指定项目JDK版本
- intellij idea 中使用 gradle 创建 spring mvc 程序
- JDK自带监控工具
- Java序列化和反序列化
- 【模板】用Java连接数据库
- java第三周学习总结
- Java线程同步(二)
- Java多线程系列--“JUC线程池”06之 Callable和Future
- 20145203盖泽双《Java程序设计》第三周学习总结
- 20145211 《Java程序设计》第3周学习总结——绝知此事要躬行
- Java 线程中的Join、wait、notify,sleep
- Eclipse+Git搭建小型团队开发环境(二)云端代码和本地代码冲突的处理方法
- Spring控制反转的深入理解
- Java线程同步(一)
- 圣思园张龙-Java SE 第三讲(原生数据类型使用陷阱 Pitfall of Primitive Data Type)
- 20145328 《Java程序设计》第3周学习总结
- 圣思园张龙-Java SE 第二讲(原生数据类型 Primitive Data Type)