待整理
JDBC(java database connectivity)
1.说明:JDBC严格来说是一种规范(Java语言用来访问各种关系型数据库的规范),每种规范都有对应的编号,主要提供了一些接口
2.作用:Java使用JDBC来操作数据库
3.数据持久化:
1.说明:把数据保存到可掉电式存储设备中以供之后使用
2.主要实现技术:
1.JDBC
2.JDO
3.第三方的框架:Hibernate,Mybatis(使用较多)等
4.第一个JDBC应用:P01
1.开发步骤:
1.加载驱动(只需要加载一次):
Class.forName("com.mysql.jdbc.Driver");//去url的path里搜com.mysql.jdbc.Driver这个类
2.获得连接(Connection):
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/document","root","tiger");
3.通过连接来创建Statement,一个连接可以创建多个Statement,通过Statement发送Sql
Statement st=conn.createStatement();
st.execute("sql语句");
4.关闭资源:先关闭声明,再关闭连接
st.close();
conn.close();
2.在elipse中添加类:
1.工程右键新建Folder
2.将类包粘贴到Folder下
3.工程右键Properties
4.Libraries中add Jars
3.小结:
1. DriverManager类:驱动程序管理器,用来驱动程序并创建连接;
1. 常用方法:getConnection(url,user,password)
2. 说明:
url:连接字符串,格式为:协议:子协议:子名称
user:数据库用户名;password:数据库密码
2. Connection接口:这个接口代表应用程序和数据库的连接,使用它可以控制事务,创建Statement和blob
3. Statement接口:代表声明,使用它可以向数据库发送sql语句
1. 常用方法有三个,用于执行特定的sql
1. boolean execute(sql); 可执行任何sql语句,如果有记录集(有返回结果,sql为select时结果为true)则结果为true,否则为false
2. int executeUpdate(sql); 主要用来执行可更新的DML语句(update,delete,insert),返回受影响记录的条数
3. ResultSet executeQuery(); 专门用来执行查询语句,返回一个结果集
4. ResultSet接口:记录集,存储记录的集合
1. 常用方法:
1. boolean next():将游标移动到下一条记录,如果返回false,则移动到记录集尾部
2. getXXX(int):XXX:数据库的类型
getXXX(column_Name):XXX:数据库的类型,得到该列名下的数据
2. 例句:
ResultSet rs=st.executeQuery("select * from `user` where salary<6050");
while(rs.next()) {
//转换时类型必须兼容
//System.out.println(rs.getString(2));//输出第二列的数据,数据类型为String
int salary=rs.getInt(1);//得到第一列的数据,数据类型为 int
String name=rs.getString("email");//得到列名为email下的数据
String degree=rs.getString("degree");
System.out.println(salary+"\t"+name+"\t"+degree);
}
9. 时间类型的处理:
1. mysql(三种) :Date,Time,Timestamp
2. java有三种中对应的类型 :Date,Time,Timestamp,这三种类型位于java.sql,是java.util.Date的子类
3. 当在eclipse中使用时间类型的精度大于表中的精度时,会自动删减为小精度显示