一、使用jdbc的步骤
a.引入数据库厂商提供的驱动程序(引入jar包)
b.记载驱动程序
Clss.forName("驱动程序类")
c.获得连接
Connection con = DriverManager.getConnection (url,username,password);
url="jdbc:数据库://ip地址:端口;数据库"
username = "用户名"
password = "密码";
d.获得执行sql对象,执行sql返回结果
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("sql语句");
e.处理结果集
while(rs.next()){
Xxxx s = rs.getXxxx("字名|数字");
}
注意:数字下标从1开始
f.释放资源
rs.close();
stat.close;
conn.close;
PreparedStatement比Statement提高了代码的可读性,提高了SQL语句执行的性能,提高了安全性.
1 public class JDBC { 2 public static void main(String[] args) { 3 //1.加载驱动 4 try{ 5 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 6 }catch( ClassNotFoundException e){ 7 e.printStackTrace(); 8 } 9 //2.获得连接 url = jdbc:sqlserver://localhost:1433;datebaseName=schoolDB,username,password 10 //jdbc:数据库://ip地址:端口号;数据库名 11 try{ 12 Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;datebaseName=shoolDB","sa","sa"); 13 System.out.println(conn); 14 //3.执行sql语句,得到返回结果 15 String sql = "use shoolDB select * from EMP"; 16 //获得执行sql语句的对象 17 Statement stat = conn.createStatement(); 18 ResultSet rs = stat.executeQuery(sql); 19 //4.处理结果 20 while(rs.next()){ 21 // int empno = rs.getInt("empno"); 22 // String ename = rs.getString("ename"); 23 // String job = rs.getString("job"); 24 // System.out.println(empno+ename+job); 25 int empno = rs.getInt(1); 26 String ename = rs.getString(2); 27 System.out.println(empno+" "+ename); 28 } 29 rs.close(); 30 stat.close(); 31 conn.close(); 32 }catch(SQLException e){ 33 e.printStackTrace(); 34 } 35 //3.执行SQL语句,得到返回结果 36 //4.处理结果 37 } 38 }
1.1 核心API
DriverManager : 管理驱动
Connection :数据库连接
Statement :执行sql语句
PreparedStatement :执行sql语句(推荐)
execute(); :执行任何的sql
executeQuery(); :执行查询sql
executeUpdate(); :执行增删改sql
ResultSet :结果集
1.2 Dao层步骤
第1步:建表
第2步:实体类
第3步:写接口(需求)
第4步:帮助类(BaseDao).(只要写一次)
第5步:实现类
软件3层结构
视图层
控制层
持久层
浏览器--->视图 ---> 控制层 --->持久层--->数据库
mvc思想:
view:视图.Jsp(控制台)
Contoller:控制层
Model:模型层
1. 业务biz,server(接口+实现)
2. dao层(接口+实现)
dao:一个方法一个sql
每一个dao只会操作一个表(多表查询除外)
biz业务层(核心)
分包:
Dao
Biz
ControLLer(web)
view(控制台)
entity(实体类)
表 --> 实体类 --> dao -->biz --> contro
序列化 接口+实现 接口+实现