java连接数据库的常见问题及解决办法( 二 )


6 模拟登录操作,条件查询
public class JDBCTest {public static void main(String[] args) {try {/* * 加载驱动,这里需要注意: * mysql5.0版本使用com.mysql.jdbc.Driver * mysql8.0版本使用com.mysql.cj.jdbc.Driver */Class.forName("com.mysql.cj.jdbc.Driver");//获取连接Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc","root","123456");//定义sql语句String sql="select * from user where name=? and pwd=?";//获取语句执行对象PreparedStatement ps = conn.prepareStatement(sql);//传参//方法的参数有两个,第一个表示第几个参数,从1开始;第二个是参数内容ps.setString(1, "小白");ps.setString(2, "123");//执行获取结果ResultSet resultSet = ps.executeQuery();//判断是否存在数据if(resultSet.next()){System.out.println("登录成功...");}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
7 分页查询
首先添加数据

java连接数据库的常见问题及解决办法

文章插图
 
public class JDBCTest {public static void main(String[] args) {try {/* * 加载驱动,这里需要注意: * mysql5.0版本使用com.mysql.jdbc.Driver * mysql8.0版本使用com.mysql.cj.jdbc.Driver */Class.forName("com.mysql.cj.jdbc.Driver");//获取连接Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc","root","123456");String sql="select * from user limit ?,?";//获取语句执行对象PreparedStatement ps = conn.prepareStatement(sql);//传参,表示第一个参数是0,第二个参数是5//sql语句:select * from user limit 0,5 ; 从第一条开始,查询五条数据ps.setInt(1, 0);ps.setInt(2, 5);ResultSet resultSet = ps.executeQuery();//判断是否存在数据while(resultSet.next()){//获取id,数据类型与字段类型一致Integer id = resultSet.getInt("id");//获取用户名String name = resultSet.getString("name");//获取密码String pwd = resultSet.getString("pwd");//打印System.out.println(id+"------"+name+"-----"+pwd);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}剩下的其他操作类似,就不一一列举了
三、总结
总结一下,连接数据库容易出问题的地方
1 连接数据库驱动错误,数据库驱动需要选择数据库对应版本的驱动,目前是5.0和8.0版本的 。解决办法:更换为正确版本的驱动
2 连接数据库时,数据库名,数据库的用户名和密码,填写错误,这样会导致连接不上数据库 。解决办法:填写正确的数据库名,用户名和密码
3 sql语句错误,sql语句错误一般是语法错误或者符号错误 。解决办法:打印一下sql语句,把sql语句拿到数据库里去执行,看是否有问题,数据库能够执行成功,就可以了
4 传参错误,传参方法与传参类型一致,int类型使用setInt方法,以此类推 。解决办法:修改方法与类型一致
5 如果你们还遇到了其他问题,可以联系源妹儿 。




推荐阅读