JDBC部分知识点
来源:互联网 发布:龙泉驾校网络上课流程 编辑:程序博客网 时间:2024/06/02 01:59
一、JDBC --用java代码操作数据库 --CRUD(增删改查)
1.导入MySql驱动包
2.选择要连接的是哪一种数据库
Class.forName("com.mysql.jdbc.Driver");对类进行加载
3.通过主机号、端口号、用户名、密码创建一个连接
String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&CharacterEncoding=utf8";
String user = "root";
String password = "1234";
//DriverManager.getConnection(url,user,password);
4.选择要操作的数据库
Connection conn = DriverManager.getConnection(url,user,password);
5.打开一个命令窗口写SQL语句
PreparedStatment psta = conn.prepareStatment("select * from emp");
6.执行SQL语句,查看结果。
ResultSet rs = psta.executeQuery();
List<Emp> emplist = new ArrayList<Emp>();
While(re.next()){
emplist.add(new Emp(rs.getInt("sno"),rs.getString("sname"),rs.getInt("Salary"),rs.getString
("job"));
}
如果是增删改,则返回受影响的行数
如果是查询,则返回结果集
7.如果是查询,需要将结果集映射到JavaBean中
*别忘了关闭(倒着关):
if(rs!=null){
rs.close();
}
if(psta!=null){
psta.close();
}
if(conn!=null){
conn.close();
}
二、jdbc封装查询要考虑的问题
1.返回值类型不确定
2.sql语句不同(参数传递)
3.语句中可能带有参数(参数传递)
*把方法作为参数传进来
JDK1.8之前处理方式:new一个接口,里面有一个抽象方法,当做匿名内部类
List<Student> studentlist = JdbcUtil.executeQuery("select * from student",
new RowMap<Teacher>(){
public TeacherRowMapping(ResultSet rs){
studentlist.add(new Student(rs.getInt(sno),rs.getString(sname),rs.getInt
(Score),rs.getString(Ssex));
}
},null)
4.处理ResultSet方式不同
三、方法封装
添加:
1.接收表单传进的参数
String sno = req.getParameter("sno");
2.将参数封装到JavaBean
Student student = new Student();
student.setSno(sno);
3.调用服务进行添加
IstudentService service = new StudentServiceImpl();(如果这个还没写好,用null)
4.重定向到列表页
resp.sendRedirect("add.jsp");
修改:
1.接收sno
String sno = req.getParameter("sno");
2.通过sno查询想要修改的数据
IstudentService service = new StudentServiceImpl();
Student student = service.getStudent(sno);
3.将数据放进作用域
req.setAttribute("student",student);
4.转发到修改页面
req.getRequestDispatcher("student").forward(req,resp);
1.导入MySql驱动包
2.选择要连接的是哪一种数据库
Class.forName("com.mysql.jdbc.Driver");对类进行加载
3.通过主机号、端口号、用户名、密码创建一个连接
String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&CharacterEncoding=utf8";
String user = "root";
String password = "1234";
//DriverManager.getConnection(url,user,password);
4.选择要操作的数据库
Connection conn = DriverManager.getConnection(url,user,password);
5.打开一个命令窗口写SQL语句
PreparedStatment psta = conn.prepareStatment("select * from emp");
6.执行SQL语句,查看结果。
ResultSet rs = psta.executeQuery();
List<Emp> emplist = new ArrayList<Emp>();
While(re.next()){
emplist.add(new Emp(rs.getInt("sno"),rs.getString("sname"),rs.getInt("Salary"),rs.getString
("job"));
}
如果是增删改,则返回受影响的行数
如果是查询,则返回结果集
7.如果是查询,需要将结果集映射到JavaBean中
*别忘了关闭(倒着关):
if(rs!=null){
rs.close();
}
if(psta!=null){
psta.close();
}
if(conn!=null){
conn.close();
}
二、jdbc封装查询要考虑的问题
1.返回值类型不确定
2.sql语句不同(参数传递)
3.语句中可能带有参数(参数传递)
*把方法作为参数传进来
JDK1.8之前处理方式:new一个接口,里面有一个抽象方法,当做匿名内部类
List<Student> studentlist = JdbcUtil.executeQuery("select * from student",
new RowMap<Teacher>(){
public TeacherRowMapping(ResultSet rs){
studentlist.add(new Student(rs.getInt(sno),rs.getString(sname),rs.getInt
(Score),rs.getString(Ssex));
}
},null)
4.处理ResultSet方式不同
三、方法封装
添加:
1.接收表单传进的参数
String sno = req.getParameter("sno");
2.将参数封装到JavaBean
Student student = new Student();
student.setSno(sno);
3.调用服务进行添加
IstudentService service = new StudentServiceImpl();(如果这个还没写好,用null)
4.重定向到列表页
resp.sendRedirect("add.jsp");
修改:
1.接收sno
String sno = req.getParameter("sno");
2.通过sno查询想要修改的数据
IstudentService service = new StudentServiceImpl();
Student student = service.getStudent(sno);
3.将数据放进作用域
req.setAttribute("student",student);
4.转发到修改页面
req.getRequestDispatcher("student").forward(req,resp);
阅读全文
0 0
- JDBC部分知识点
- JDBC-相关部分知识点概述
- JDBC知识点
- JDBC知识点
- JDBC知识点
- JDBC方面的知识点
- JDBC知识点罗列
- JDBC知识点笔记
- JDBC主要知识点总结
- jdbc小知识点
- JDBC重要知识点
- jdbc知识点总结
- jdbc相关知识点
- JDBC知识点小结
- 网络部分知识点
- 安全性部分知识点
- Oracle部分知识点
- 数据库部分知识点
- 惊喜!Mat研究(1)
- 一道画风清奇的数位dp
- 基于七牛播放器的直播
- File Transfer
- Spring FrameWork学习笔记(一)Spring框架综述
- JDBC部分知识点
- 【完全解决】Ubuntu下正确安装VMware Tools及安装搜狗输入法
- 当你老了,一生最后悔什么?大数据告诉你!
- 02-线性结构1 两个有序链表序列的合并
- 求二叉树的深度和宽度[Java]
- 迅雷下载边下边播设置为本地安装的浏览器
- python定义类(class)的语法,
- 专为测试人员打造的 json 解析 jar 包--zson
- 树莓派最新raspbian系统换国内源