JDBC
JDBC(Java Data Base Connectivity,java数据库连接)
步骤
1.注册驱动.
Class.forName("com.mysql.jdbc.Driver");
2.获得连接.
String url="jdbc:mysql://localhost:3306/demo0803?characterEncoding=utf8"
String user=用户名;
String pwd=密码;
Connection conn=DriverManager.getConnection(url, user, pwd);
3.获得语句执行平台
通过连接对象获取对SQL语句的执行者对象
4.执行sql语句
使用执行者对象,向数据库执行SQL语句,获取到数据库的执行后的结果
5.处理结果
6.释放资源.
调用close()方法,反向释放
executeUpdate()方法
增删改时使用
如
public static void main(String[] args)throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/demo0803?characterEncoding=utf8";
String user="root";
String pwd="123456";
Connection conn=DriverManager.getConnection(url, user, pwd);
Statement sta=conn.createStatement();
String sql="insert sort(sname,sdesc) values('口红','骗女人钱的')";
int row=(int) sta.executeLargeUpdate(sql);
System.out.println(row);
sta.close();
conn.close();
}
executeQuery()方法
查询时使用,需要将内容遍历出来
如:
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/demo0803?characterEncoding=utf8";
String user="root";
String pwd="123456";
Connection conn=DriverManager.getConnection(url, user, pwd);
Statement sta=conn.createStatement();
String sql="select * from sort";
ResultSet rs=sta.executeQuery(sql);
while(rs.next()){
int sid=rs.getInt(1);
String sname=rs.getString(2);
String sdesc=rs.getString(3);
System.out.println(sid+".."+sname+".."+sdesc);
}
rs.close();
sta.close();
conn.close();
}
JDBC工具类
将需要重复使用的内容(连接数据库和释放内存等)封装到一个类中,通过方法调用
如:
public class JDBCUtils {
public static Connection getConn(){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/demo0803?characterEncoding=utf8";
String user="root";
String pwd="123456";
conn=DriverManager.getConnection(url, user, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn,PreparedStatement pst){
if(pst!=null){
try {
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void close(Connection conn,PreparedStatement pst,ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pst!=null){
try {
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Connection conn=JDBCUtils.getConn();
String sql="select * from sort";
PreparedStatement pst=conn.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
ArrayList<Sort> arr=new ArrayList<Sort>();
while(rs.next()){
Sort sort=new Sort();
sort.setSid(rs.getInt("sid"));
sort.setSname(rs.getString("sname"));
sort.setSdesc(rs.getString("sdesc"));
arr.add(sort);
}
System.out.println(arr);
JDBCUtils.close(conn,pst,rs);
}
}

浙公网安备 33010602011771号