您的位置:首页 > 数据库 > MySQL

mysql数据库连接总结

2016-06-21 19:49 507 查看
    数据库连接总结
第一步:加载驱动程序(应用反射机制)
       Class.forName(“com.jdbc.mysql.Driver”);
第二步:提供连接数据库的URL(协议/子协议/数据源标识/端口号/数据库名?字符编码集)
String
url =
"jdbc:mysql://localhost:3306/salary_manage?UseUnicoding =true&characterEncoding =utf8";
第三步:连接数据库
在连接数据之前,需要提供用户名和密码;
String user =
“用户名”;
String password =
“密码”
Connection
conn =
DriverManager.getConnection(url,
user,
password);
 此时如果conn!=null 就表示数据连接数据库成功!
那既然连接数据库成功?我们最终的目的是为了操作数据库,那怎么样做呢?就是执行SQL语句。在执行SQL语句之前我们还需要做点事情!
 第一步:建立一个Statement对象;
 第二步;执行SQL语句
方法一:执行SQL静态语句,使用Statement获得实例,如:
Statement  stm =
(Statement) conn.createStatement();
String
sql =
"insert users values(null,'黄蓉','huangrong','women','2016-6-21')";
int
num=stm.executeUpdate(sql);//返回一个整型
System.out.println("插入"+num+"条数据成功");
第一句语句就是获得Statement实例;
第二条语句就是sql语句
第三条就是使用executeUpdate()方法执行SQL语句。
方法二:执行动态的SQL语句,就是可以进行预编译
首先:定义失去了语句,需要设置的值都用’?‘表示。如下
String
sql =
"insert use
fa93
rs values(?,?,?,?,?)";
其次,使用prepareStatement(sql)方法来获得一个PrepareStatement实例,此时会先对sql进行预编译。
其次,就是给个字段赋值如下
//设置值
pst.setInt(1,
59);
pst.setString(2,
"黄小蓉");
pst.setString(3,
"huangrong");
pst.setString(4,
"women");
pst.setString(5,
"2016-6-12");
最后,执行执行SQL语句,此时是无参的
num=pst.executeUpdate();
 
  上面的操作可以真多insert,delete以及update,但是对于select稍微有些变化!
先看一个例子:
String
sql =
"select * from users ";
PreparedStatement  pst =
(PreparedStatement) conn.prepareStatement(sql);
ResultSet
rs = (ResultSet)
pst.executeQuery();
        while(rs.next()){
        
int id =
rs.getInt("id");
        
String
name =
rs.getString("name");
        
String
password =
rs.getString("password");
        
String
sex =
rs.getString("sex");
        
String
birth =
rs.getString("birth");
        
System.out.println(id+"\t"+name+"\t"+password+"\t"+sex+"\t"+birth);
        }
 如上例,获得Statement实例还是一样的,只是在执行SQL语句的方法不一样,因为我们在select可能或有多个结果,所以就是使用executeQuery()返回一个结果集,而executeUpdate只是返回一个结果。最终通过结果集的next()方法判断结果集中是否还有记录,就通过字段名得到字段的的取值,最终输出!
对于不使用预编译,也是一样的。如下例:
String
sql =
"select * from users ";
Statement
st = (Statement)
conn.createStatement();
ResultSet
rs = (ResultSet)
st.executeQuery(sql);
        while(rs.next()){
        
int id =
rs.getInt("id");
        
String
name =
rs.getString("name");
        
String
password =
rs.getString("password");
        
String
sex =
rs.getString("sex");
        
String
birth =
rs.getString("birth");
        
System.out.println(id+"\t"+name+"\t"+password+"\t"+sex+"\t"+birth);
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: