那是连接数据库时,要获取一个可以执行sql语句的对象。
(偷懒,直接笔记了~)
连接数据库步骤:
a. 用java程序与db建立一个连接(通道)
b。
根据连接获取一个执行sql语句的对象
c。
执行sql语句
d。
关闭连接
public class Main {
public static void main(String[] args) {
try {
//1加载驱动类
//forName() 返回与带有给定字符串名的类或接口相关联的Class 对象
Class.forName("org.gjt.mm.mysql.Driver");
//a.建立连接通道
//DriverManager管理一组JDBC 驱动程序的基本服务。
java.sql
//getConnection() 返回:到URL 的连接
String url="jdbc:mysql://127.0.0.1:3306/a11";
String user="root";
String password="root";
Connection conn=DriverManager.getConnection(url, user,password);//相当于打开链接
//b。
获取一个执行sql语句的对象
//Statement 用于执行静态SQL 语句并返回它所生成结果的对象。
//createStatement()创建一个Statement 对象来将SQL 语句发送到数据库。
Statement st;
st=conn.createStatement();
//c.执行sql语句
//执行给定SQL 语句,该语句可能为INSERT、UPDATE 或DELETE 语句,或不返回内容
st.executeUpdate("insert into
student(stuname,stuage,stusex,stubirth) values('张三',10,'m','1988-08-09')");
//d.关闭连接
//立即释放此Connection 对象的数据库和JDBC 资源,而不是等待它们被自动释放
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("加载驱动类失败!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//或者关闭写在finally
Statement stmt = Conn.createStatement(1004,1007);
这里的1004,1007是什么意思呢?
上网搜索了一下才发现意思如下:
1.TYPE_FORWORD_ONLY,只可向前滚动;
2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。
TYPE_SCROLL_INSENSITIVE = 1004;
CONCUR_READ_ONLY = 1007;
TYPE_SCROLL_SENSITIVE = 1005;。