resultset

JDBC学习笔记(4)——PreparedStatement的使用

亡梦爱人 提交于 2020-03-20 22:02:00
PreparedStatement public interface PreparedStatement extends Statement;可以看到PreparedStatement是Statement的子接口,我们在执行查询或者更新数据表数据的时候,拼写SQL语句是一个很费力并且容易出错的事情,PreparedStatement可以简化这样的一个过程. PreParedStatement 1).why?我们为什么要使用它 使用Statement需要进行拼写SQl语句,辛苦并且容易出错,之前使用Statement的SQL语句的形式是这样的 String sql = "insert into examstudent" + " values(" + student.getFlowId() + "," + student.getType() + ",'" + student.getIdCard() + "','" + student.getExamCard() + "','" + student.getStudentName() + "','" + student.getLocation() + "'," + student.getGrade() + ")"; 使用PreparedStatement:是Statement的子接口,可以传入 带占位符 的SQL语句

JDBC

旧巷老猫 提交于 2020-03-19 03:43:26
JDBC 一、JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象

JDBC常用接口、类介绍

故事扮演 提交于 2020-03-19 03:36:04
JDBC常用接口、类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令。API常用的类、接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connection数据库链接,常用方法如下: public static synchronized Connection getConnection(String url, String user, String password) throws Exception; 该方法获得url对应的数据库的连接。 Connection 常用数据库操作方法: Statement createStatement throws SQLException: 该方法返回一个Statement对象。 PreparedStatement prepareStatement(String sql) throws SQLException;该方法返回预编译的Statement对象, 即将SQL语句提交到数据库进行预编译。 CallableStatement prepareCall(String sql) throws SQLException:该方法返回CallableStatement对象, 该对象用于存储过程的调用。 上面的三个方法都是返回执行SQL语句的Statement对象,PreparedStatement

Java之JDBC

▼魔方 西西 提交于 2020-03-18 05:36:50
JDBC的全称为:Java DataBase Connectivity(Java数据库连接)。 是一种执行SQL语句的Java API,可以为多种关系型数据库提供统一的访问。 1.JDBC的API (1)JDBC入门 package com.imooc.jdbc.demo1; import com.mysql.cj.jdbc.Driver; import java.sql.*; public class JDBCDemo1 { public void demo1() throws SQLException { //这里需要接受异常 //1.加载驱动 DriverManager.registerDriver(new Driver()); //2.获取连接 Connection conn = DriverManager.getConnection("jdbc:mysql://18.0.51.10:3306/jdbctest","root","123456"); //3.创建执行SQL语句的对象 String sql = "select * from user"; Statement stmt = conn.createStatement(); //4.执行sql语句 ResultSet resultSet = stmt.executeQuery(sql); while

【JaveEE学习贴1】基于Mysql、Servlet、JSP书写学生作业管理系统(含登录界面)

江枫思渺然 提交于 2020-03-17 07:49:42
完整代码已上传于Github中: https://github.com/Shadow1300/JavaEE 文末也将列出来。 一、首先了解一下作业要求 我们首先要对需求进行分析: 1)用户 :老师、学生 2)功能 :添加作业、添加学生、查询学生作业、作业提交 3)功能扩展完善 : ①登录 :由于存在添加学生这个功能,那我认为应该有一个登录功能,没有被授权的学生不能进入提交界面,否则添加学生的功能就失去了意义; ②查询作业要求 :由于学生需要进行作业的提交,则应该有一个途径可以查看作业要求; ③查看学生 :由于老师可以添加学生,那么也应该可以查看学生表以知已经添加了哪些学生了。 二、建表分析 不难分析出,此系统需要三个表: 1、学生表; ①学生id(主属性) ②学生姓名 ③自增id序号(主属性) 2、作业要求表; ①自增id序号(主属性) ②作业序号(主属性) ③作业要求内容 ④作业截止时间 3、提交作业情况表; ①自增id序号(主属性) ②学生i((主属性)(外键引用student表中的student_id) ③作业id(主属性)(外键引用homework表中的homework_id) ④作业标题 ⑤作业内容 ⑥提交时间 ⑦作业截止时间(此属性为供老师参考学生是否晚交,扣分参考) 分析好需求和设计好表之后,我们先别着急着写代码,要对整个项目进行整体设计

JavaWeb学习笔记(十八)—— DBUtils的使用

断了今生、忘了曾经 提交于 2020-03-15 16:06:33
一、DBUtils概述 1.1 什么是DBUtils   commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。   DBUtils最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。   使用DBUtils需要导包:commons-dbutils-1.4.jar 1.2 为什么要用DBUtils    在使用Dbutils 之前,我们Dao层使用的技术是JDBC,那么分析一下JDBC的弊端: 数据库连接对象、sql语句操作对象,封装结果集对象,这三大对象会重复定义 封装数据的代码重复,而且操作复杂,代码量大 释放资源的代码重复   结果:程序员在开发的时候,有大量的重复劳动;开发的周期长,效率低   而使用dbutils可以极大程度的简化代码书写,使得开发进度更快,效率更高。 二、QueryRunner类   该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。   QueryRunner类提供了两个构造方法:

dbutils开源项目用法

眉间皱痕 提交于 2020-03-15 16:05:50
Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 DBUtils包括3个包: org.apache.commons.dbutils org.apache.commons.dbutils.handlers org.apache.commons.dbutils.wrappers DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 org.apache.commons.dbutils DbUtils 关闭链接等操作 QueryRunner 进行查询的操作 org.apache.commons.dbutils.handlers ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[] BeanHandler :将ResultSet中第一行的数据转化成类对象 BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象 ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是Object对象 KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map

泛型(三)模拟commons-dbutils

帅比萌擦擦* 提交于 2020-03-15 16:04:55
最近在复习泛型的知识,想起以前使用 commons-dbutils 的时候,觉得这个工具太厉害了。所以,试着自己瞎写看能不能模拟 commons-dbutils 的功能。 1、commons-dbutils的使用   1.1、commons-dbutils是用来简化JDBC的代码。下面是其简单用法: // 增删改 QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource());// 创建QueryRunner,需要提供数据库连接池对象 String sql = "insert into t_students values(?,?,?,?)";// 给出sql模板 Object[] params = { 1, "liSi", 20, "female" };// 给出sql模板的参数 qr.update(sql, params); // 查询 QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource()); String sql = "select * from t_student where id = ?"; Object[] params = {1}; Stu stu = qr.query(sql, new BeanHandler<Stu>(Stu.class),

DbUtils: JDBC Utility Component Examples翻译

风流意气都作罢 提交于 2020-03-15 15:51:21
DbUtils:JDBC实用组件实例 这一页提供了一些展示如何使用DbUtils的示例。 基本用法 DbUtils是一个非常小的类库,因此浏览完所有类的 javadoc 不会花费很长时间。DbUtils的核心类/接口是 QueryRunner 和 ResultSetHandler 。你不需要知道其它DbUtils类就可以使用这一类库。下面的例子展示了这些类是如何一起使用的。 // Create a ResultSetHandler implementation to convert the // first row into an Object[]. // 创建一个ResultSetHandler 实现,以把第一行转换成一个Object[] ResultSetHandler<Object[]> h = new ResultSetHandler<Object[]>() { public Object[] handle(ResultSet rs) throws SQLException { if (!rs.next()) { return null; } ResultSetMetaData meta = rs.getMetaData(); int cols = meta.getColumnCount(); Object[] result = new Object[cols]; for

Java自学-JDBC 查询

倖福魔咒の 提交于 2020-03-15 09:44:41
在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQuery 执行SQL查询语句 注意: 在取第二列的数据的时候,用的是rs.get(2) ,而不是get(1). 这个是整个Java自带的api里 唯二 的地方,使用 基1 的,即2就代表第二个。 另一个地方是在PreparedStatement package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java