JAVA笔记之数据库操作
数据库的使用在日常应用中很常见,本次笔记使用的是mysql数据库。
数据使用步骤
一:数据库的驱动包
要使用mysql数据库,首先需要将数据库的驱动包导入,(WEB工程导入进lib包中)。
加载驱动包,代码如下:
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/数据库名字?useUnicode=true&characterEncoding=utf-8";
//数据库账号
String UserName = "root";
//数据库密码
String PassWord = "admin";
try{
Connection coon = DriverManager.getConnection(url,UserName,PassWord);
}catch(Exception e){
}
二:数据库的增删改操作
增删改查操作比较简单,主要区别就是在于sql语句的不同
1.准备sql语句(需要给占位符设置具体的值)
增加:
String sql = "insert into table values(x,x,x,x)";
删除:
String sql = "delete from table where x = ?";
修改:
String sql = "update table set x=?,y=? where z=? ";
2.用链接对象准备 PreparedStatement 对象
PreparedStatement pre = coon.prepareStatement(sql);
3.给不完整的sql语句赋值
PreparedStatement对象有一系列赋值的方法,是什么类型的属性赋值,就是setXXX(参数1,参数2)方法,包含两个参数,
第一个参数表示这个值在sql语句是第几个位置(从1开始数),第二个参数是值,实例如下
pre.setString(1,"吴彦祖"); //表示给sql语句第一个需要赋值的数赋值为 吴彦祖(是String类型)
pre.setInt(2,100); //表示给sql语句第二个需要赋值的数赋值为 100(是int类型)
4.执行具体的操作
int row = pre.executeUpdate();
//因为在构建PreparedStatement对象是传入了sql语句做参数,所以此处执行时是无参的,与Statement的区别
//该方法返回一个int型变量,表示受影响的行数,不为0时即为操作成功
if(row>0){
//操作成功的代码
}else{
//操作失败的代码
}
三:数据库的查询操作
-
准备sql语句 String sql = “select * from 表名 where xxx”;
-
创建PreparedStatement对象
PreparedStatement pre = coon.PreparedStatementsql;
-
给sql语句赋值,同上
-
执行sql语句
ResultSet rs = pre.executeQuery(); //该方法返回一个结果集合,一般通过遍历它循环输出显示 while(rs.next()){ //此时循环中的rs就表示数据库中的一行, out.println(rs.getString("属性名")); //通过getXXX(属性名) 方法可以获取对应的属性值 }