[JavaWeb_兄弟连_马剑威]_020_JDBC实现简单增删改操作
JavaWeb开发之JDBC的增删改查

JavaWeb开发之JDBC的增删改查项⽬搭建的包命名和类命名:⾸先导⼊数据库的驱动架包,并添加依赖1.Dao层是专门负责和数据库交互,数据处理的代码层2.Dao是接⼝,DaoImpl是Dao接⼝的实现类3.Java代码连接数据库的步骤:“贾琏欲执事”⼝诀 (1)贾:加载数据库注册驱动,将数据库驱动注册到DriverManager中去。
Class.forName("com.mysql.jdbc.Driver"); (2)琏:创建连接数据库的对象,通过DriverManager获取 Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "123456"); (3)欲:创建预编译或⾮预编译 SQL语句对象 String sql="update t_student set name = ?,age = ? where id = ?"; PrepardStatment ps =conn.preparedStatment(sql); ps.setString(1,"⼩明"); ps.setInt(2,20); ps.setInt(3,2); (4)执:执⾏SQL语句 int row =ps.executeUpdate(); (5)事:释放资源(先创后放) conn.close(); ps.close();具体代码:@Overridepublic int insert(Student stu) {String sql = "insert into t_student(name,age)values(?,?)";Connection conn = null;PreparedStatement ps = null;try {// 1.加载注册驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取数据库连接对象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象ps = conn.prepareStatement(sql);// 3.1设置预编译语句对象占位符对应的参数值ps.setString(1, stu.getName());ps.setInt(2, stu.getAge());// 4.执⾏SQL语句 (注意:⽅法不能带sql参数)int row = ps.executeUpdate();return row;} catch (Exception e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}return 0;}@Overridepublic int delete(Integer id) {String sql = "delete from t_student where id = ?";Connection conn = null;PreparedStatement ps = null;try {// 1.加载注册驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取数据库连接对象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象ps = conn.prepareStatement(sql);// 3.1设置预编译语句对象占位符对应的参数值ps.setInt(1, id);// 4.执⾏SQL语句 (注意:⽅法不能带sql参数)int row = ps.executeUpdate();return row;} catch (Exception e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}return 0;}@Overridepublic int update(Student stu) {String sql = "update t_student set name = ?,age = ? where id = ?";Connection conn = null;PreparedStatement ps = null;try {// 1.加载注册驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取数据库连接对象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象ps = conn.prepareStatement(sql);// 3.1设置预编译语句对象占位符对应的参数值ps.setString(1, stu.getName());ps.setInt(2, stu.getAge());ps.setInt(3, stu.getId());// 4.执⾏SQL语句 (注意:⽅法不能带sql参数)int row = ps.executeUpdate();return row;} catch (Exception e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}return 0;}@Overridepublic Student selectByPrimaryKey(Integer id) {String sql = "select * from t_student where id = ?";Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 1.加载注册驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取数据库连接对象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象ps = conn.prepareStatement(sql);ps.setInt(1, id);// 4.执⾏sql语句rs = ps.executeQuery();while (rs.next()) {String name = rs.getString("name");int age = rs.getInt("age");// 封装Student对象Student stu = new Student(id, name, age);//返回Student对象return stu;}} catch (Exception e) {e.printStackTrace();} finally {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}}return null;}@Overridepublic List<Student> selectList() {List<Student> students = new ArrayList<>();String sql = "select * from t_student";Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 1.加载注册驱动Class.forName("com.mysql.jdbc.Driver");// 2.获取数据库连接对象conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象ps = conn.prepareStatement(sql);// 4.执⾏sql语句rs = ps.executeQuery();while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");int age = rs.getInt("age");// 封装Student对象Student stu = new Student(id, name, age);// 学⽣对象添加到集合中students.add(stu);}} catch (Exception e) {e.printStackTrace();} finally {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}}return students;}。
通过Java代码实现对数据库的数据进行操作:增删改查(JDBC)

通过Java代码实现对数据库的数据进⾏操作:增删改查(JDBC)在写代码之前,依然是引⽤mysql数据库的jar包⽂件:右键项⽬—构建路径—设置构建路径—库—添加外部JAR在数据库中我们已经建⽴好⼀个表xs ;分别有xuehao xingming xuexiao 三个列然后我们开始码代码调⽤,进⾏增删改查⾸先是增加import java.sql.*;public class XueYuan {public static void main(String[] args) throws Exception {Class.forName("com.mysql.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK";Connection conn=DriverManager.getConnection(jdbc, "root", "");//链接到数据库Statement state=conn.createStatement(); //容器String sql="insert into xs values('1108','张伟','汉企')"; //SQL语句state.executeUpdate(sql); //将sql语句上传⾄数据库执⾏conn.close();//关闭通道}执⾏后,数据中多了⼀⾏数据删除数据import java.sql.*;public class XueYuan {public static void main(String[] args) throws Exception {Class.forName("com.mysql.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK";Connection conn=DriverManager.getConnection(jdbc, "root", "");//链接到数据库Statement state=conn.createStatement(); //容器String sql="delete from xs where xuehao='1108'"; //SQL语句state.executeUpdate(sql); //将sql语句上传⾄数据库执⾏conn.close();//关闭通道}}执⾏后,数据库中xuehao为“1108”的数据的整⾏被删掉修改数据import java.sql.*;public class XueYuan {public static void main(String[] args) throws Exception {Class.forName("com.mysql.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK";Connection conn=DriverManager.getConnection(jdbc, "root", "");//链接到数据库Statement state=conn.createStatement(); //容器String sql="update xs set xuexiao='淄博汉企' where xuehao='1101' "; //SQL语句state.executeUpdate(sql); //将sql语句上传⾄数据库执⾏conn.close();//关闭通道}}数据库中的1101对应的xuexiao发⽣了改变⼩结:数据的增删改⼏乎是⼀样的唯⼀不同的是SQL语句不同⽽已查询数据查询数据和增删改不同的地⽅是,我们需要获取,⽽正常获取时,我们获取到的是⼀个字符集import java.sql.*;import javax.xml.stream.events.StartElement;public class Test3 {public static void main(String[] args) throws Exception {//导⼊驱动包Class.forName("com.mysql.jdbc.Driver");//链接⾄数据库String jdbc="jdbc:mysql://127.0.0.1:3306/mydb";Connection conn=DriverManager.getConnection(jdbc, "root", "");Statement state=conn.createStatement();//容器String sql="select * from xs"; //sql语句ResultSet rs=state.executeQuery(sql); //将sql语句传⾄数据库,返回的值为⼀个字符集⽤⼀个变量接收while(rs.next()){ //next()获取⾥⾯的内容System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));//getString(n)获取第n列的内容//数据库中的列数是从1开始的}conn.close();}获取的结果例⼦:输⼊账号和密码,在数据库中获取,如果有该信息,则显⽰其登陆成功,如果没有,则显⽰输⼊错误有两种⽅法可以实现:import java.sql.*;import java.util.*;public class Login {public static void main(String[] args) throws Exception {// 输⼊⽤户名和密码Scanner sc=new Scanner(System.in);System.out.println("请输⼊账号");String zh=sc.nextLine();System.out.println("请输⼊密码");String mm=sc.nextLine();// zh=zh.replaceAll("\'", "\""); //替换// mm=mm.replaceAll("\'", "\""); //替换//到数据库验证⽤户名和密码是否正确Class.forName("com.mysql.jdbc.Driver");Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb", "root", "");Statement state=conn.createStatement();String sql="select * from yonghu where zhanghao='"+zh+"' and mima='"+mm+"'";ResultSet re=state.executeQuery(sql);//输出:正确显⽰欢迎,不正确显⽰错误if(re.next()){System.out.println("登陆成功!"+re.getString(3)+" 欢迎你");}else{System.out.println("输⼊账号或密码错误");}conn.close();}}实现了该功能但是如果我们输⼊同样会显⽰登陆成功(sql注⼊攻击),为避免出现这种情况我们加⼊两个替换zh=zh.replaceAll("\'", "\"") 将输⼊的所有单引号全部换成双引号,就可以避免这样的漏洞;但是这种⽅法治标不治本,根本原因是字符串的拼接的原因从根本上解决问题还有⼀种写法在SQL语句中,不确定的条件⽤?代替,PreparedStatement(sql)容器来装 setString( n ,m)来赋值n是第⼏个问号的位置,m是赋import java.sql.*;import java.util.*;public class Login {public static void main(String[] args) throws Exception{//输⼊⽤户名和密码Scanner sc=new Scanner(System.in);System.out.println("请输⼊账号");String zh=sc.nextLine();System.out.println("请输⼊密码");String mm=sc.nextLine();Class.forName("com.mysql.jdbc.Driver");String jdbc="jdbc:mysql://127.0.0.1:3306/mydb";Connection conn=DriverManager.getConnection(jdbc, "root", "");String sql="select * from yonghu where zhanghao=? and mima=?"; //sql语句PreparedStatement state=conn.prepareStatement(sql); //容器state.setString(1, zh); //将第n个值替换成某个值state.setString(2, mm);ResultSet re=state.executeQuery(); //上传数据库返回结果集if(re.next()){ //如果取到了值,那么输出System.out.println("登陆成功"+re.getString(3)+",欢迎你");}else{System.out.println("登陆失败,账号或密码输⼊错误");}}。
JAVA数据库基本操作增删改查

JAVA数据库基本操作增删改查增:一、使用JDBCAPI操作数据库1、创建jdbc对象:为了访问数据库需要创建一个jdbc对象,使用DriverManager类的static方法getConnection(创建jdbc对象。
2、获取Statement对象:通过jdbc.createStatement(方法创建一个Statement对象,使用executeUpdate(方法执行SQL语句。
3、执行sql语句:使用前面创建的Statement对象执行SQL语句,例如,执行INSERT语句则需要使用executeUpdate(方法将要插入的数据插入数据库。
4、关闭jdbc对象:通过jdbc对象的close(方法关闭jdbc对象,以便释放资源,并将数据插入数据库。
二、使用Hibernate框架操作数据库1、创建SessionFactory对象:Hibernate框架使用SessionFactory类来管理数据库的连接,并从数据库中加载实体,进行数据的操作。
SessionFactory对象维护一个连接池,利用它可以创建多个Session对象。
2、创建Session对象:Hibernate框架使用Session类来管理数据,使用SessionFactory对象的openSession(方法可以创建Session对象,并从连接池中获取需要的连接。
3、获取Transaction对象:Session类的beginTransaction(方法可以创建Transaction对象,用于控制数据库的事务。
4、执行SQL语句:使用Session对象的save(方法执行SQL语句,向数据库中插入数据。
6、关闭session:使用Session对象的close(方法关闭session,释放资源。
删:一、使用JDBCAPI操作数据库。
java项目中实现增删改查基本流程

java项目中实现增删改查基本流程Java项目中实现增删改查基本流程引言本文将详细讨论在Java项目中实现增删改查的基本流程。
通过该流程,我们可以在项目中对数据进行操作,包括创建、读取、更新和删除。
步骤一:创建在创建数据之前,首先需要创建数据库和相应的表。
接下来,我们可以通过以下步骤创建具体的数据:1.创建模型类:创建一个Java类来表示数据模型,包含需要的属性和方法。
2.设计数据库表结构:根据模型类的属性,设计数据库表结构,确定每个属性对应的字段。
3.编写DAO(数据访问对象)类:该类用于实现对数据库的访问操作,包括插入数据到数据库中。
4.实例化模型类:在业务逻辑层中,实例化模型类,并设置相应的属性值。
5.调用DAO类的插入方法:在业务逻辑层中,调用DAO类的插入方法,将数据插入到数据库中。
步骤二:读取读取数据是对数据库进行查询操作,获取需要的数据。
下面是读取数据的基本流程:1.编写DAO类的查询方法:在DAO类中编写查询方法,根据需要的条件和属性查询数据。
2.调用DAO类的查询方法:在业务逻辑层中,调用DAO类的查询方法,获取查询结果。
3.处理查询结果:根据返回的结果集,进行数据的处理和展示。
步骤三:更新更新数据是对数据库中已有数据的修改操作。
下面是更新数据的基本流程:1.编写DAO类的更新方法:在DAO类中编写更新方法,根据需要的条件和属性更新数据。
2.实例化模型类并设置属性值:在业务逻辑层中,实例化模型类,并设置需要更新的属性值。
3.调用DAO类的更新方法:在业务逻辑层中,调用DAO类的更新方法,更新数据。
步骤四:删除删除数据是在数据库中删除指定的数据记录。
下面是删除数据的基本流程:1.编写DAO类的删除方法:在DAO类中编写删除方法,根据需要的条件删除数据。
2.调用DAO类的删除方法:在业务逻辑层中,调用DAO类的删除方法,删除数据。
结论在一个Java项目中,实现增删改查的基本流程是创建、读取、更新和删除。
Java使用JDBC连接MYSQL数据库增删改查示例

Java使用JDBC连接MYSQL数据库增删改查示例JDBC连接MYSQL数据库:import java.sql.Connection;import java.sql.DriverManager;public class Mysql {public static void main(String arg[]) {try {Connection con = null; //定义一个MYSQL链接对象Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL 驱动con =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQLSystem.out.print("yes");} catch (Exception e) {System.out.print("MYSQL ERROR:" + e.getMessage());}}}</pre>Class.forName("com.mysql.jdbc.Driver").newInstance(); 我们链接的是MYSQL 数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。
con = DriverManager.getConnection;("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); 是链接数据库的语句,返回Connection con;对象。
《java web》-利用JDBC实现DAO对数据库进行增删改查

《java web》实验报告利用JDBC实现DAO对数据库进行增删改查一、实验目的学会利用JDBC实现DAO对数据库进行增删改查。
二、实验环境Windows10操作系统,谷歌浏览器,Myeclipse2014。
三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果)实验:利用JDBC实现DAO对数据库进行增删改查实验步骤:利用JDBC实现DAO对数据库进行增删改查测试类:package test;import java.util.Date;import erDao;import erDaoImpl;import er;public class UserDaoTest {public static void add(User user){UserDao userDao = new UserDaoImpl();userDao.insertUser(user);}public static void delete(int userid){UserDao userDao = new UserDaoImpl();userDao.deleteUser(userid);}public static void uppdate(User user){UserDao userDao = new UserDaoImpl();userDao.updateUser(user);}public static User select(int userid){UserDao userDao = new UserDaoImpl();return userDao.getUser(userid);}public static void main(String[] args) {// TODO Auto-generated method stubUser user = new User();short gender = 1;user.setUsername("quaner");user.setUserpass("1234560");user.setHead("Administrator");user.setGender(gender);user.setRegtime("2019-5-4");// add(user);User us = select(21);System.out.println("userid=" + us.getUserid() + ", username=" + us.getUsername()+ ", regtime=" + us.getRegtime() + ", userpass=" + us.getUserpass() + ", head="+ us.getHead() + ", gender=" + us.getGender());// delete(16);// uppdate(user);}}实验结果图为:四、 实验总结(每项不少于20字)存在问题:代码书写不够熟练,关于实现DAO 连接数据库对数据库进行操作还有许多不足的地方。
myeclipse中JDBC连接mysql和简单的增删改查

myeclipse中JDBC连接mysql和简单的增删改查废话不多说,直接上操作图,操作起来理解会更彻底1、myeclipse中项⽬结构,先在web-inf-lib下导⼊jar包,注意Web App Libraries这个⽬录,下⾯会有⽤到的地⽅2、连接语句package utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;public class BaseDao {//第⼀步:先设置四个常量(url数据库地址,username数据库⽤户名,password数据库密码,driver数据库驱动)private static final String URL = "jdbc:mysql://127.0.0.1:3306/petshop?characterEncoding=utf-8";private static final String USERNAME = "root";private static final String PASSWORD = "ok";private static final String DRIVER = "com.mysql.jdbc.Driver";//Web App Libraries -- mysql-connector.jar--下的⽂件名//1.加载驱动,⽤静态块//jdbc是java提供给各⼤数据库开发商的⼀些接⼝(规则),⽽驱动就是这些规则的具体实现⽅法static{try {Class.forName(DRIVER);//要求JVM查找并加载指定的类,也就是注册mysql实现的驱动类} catch (ClassNotFoundException e) {e.printStackTrace();}}//2.获取数据库连接,通过在DriverManager驱动管理类中设置参数public Connection getConnection() throws SQLException{return DriverManager.getConnection(URL,USERNAME,PASSWORD);}//3.创建预编译执⾏对象PreparedStatementpublic PreparedStatement createPreparedStatement(Connection conn,String sql,Object... params) throws SQLException{//从当前的conn对象中,获取执⾏对象,把预编译sql语句放⼊其中PreparedStatement pstmt = conn.prepareStatement(sql);//如果预编译sql中有占位符,则表⽰要赋值if(params!=null && params.length>0){//通过遍历,将params对象集合中的元素⼀⼀对应付给占位符for(int i=1;i<=params.length;i++){pstmt.setObject(i, params[i-1]);}}return pstmt;//带有sql语句的预编译执⾏对象}//4.创建公共DML执⾏⽅法public int executeDML(String sql,Object... params){int result = 0;//⽤于返回受影响的⾏数来判断是否执⾏成功//创建两个数据库对象Connection conn = null;//数据库连接对象PreparedStatement pstmt = null;//预编译执⾏对象,接收try {conn = this.getConnection();pstmt = this.createPreparedStatement(conn, sql, params);result = pstmt.executeUpdate();} catch (SQLException e) {e.printStackTrace();} finally{closeAll(conn,pstmt,null);}return result;}//5.释放公共资源⽅法void closeAll(Connection conn, PreparedStatement pstmt,ResultSet rs) {try {if(rs!=null)rs.close();} catch (SQLException e) {e.printStackTrace();}finally{try {if(pstmt!=null)pstmt.close();} catch (SQLException e) {e.printStackTrace();}finally{try {if(conn!=null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}}}3、测试类中的代码,实现简单的增删改查package utils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Scanner;public class TestDML {static Scanner input = new Scanner(System.in);public static void main(String[] args) {System.out.println("请选择您要执⾏的操作\n1.执⾏ 2.删除 3.修改4.查所有"); TestDML test = new TestDML();int choose = input.nextInt();switch (choose) {case 1://新增test.insertNewGrade();break;case 2://删除test.delGrade();break;case 3://修改test.updateGrade();break;case 4://查询test.selectAll();break;}}private void selectAll() {BaseDao bd = new BaseDao();Connection conn = null;String sql = "select * from petstore";PreparedStatement pstmt=null;ResultSet rs = null;try {conn = bd.getConnection();//获取数据库链接对象pstmt = bd.createPreparedStatement(conn, sql);rs = pstmt.executeQuery();System.out.println("id\tname\tpassword\tbalance");while(rs.next()){System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getInt(4)); }} catch (SQLException e) {e.printStackTrace();}finally{bd.closeAll(conn,pstmt,rs);}}private void updateGrade() {System.out.println("请输⼊要修改的id编号:");int Id = input.nextInt();System.out.println("请输⼊新的id:");int id = input.nextInt();System.out.println("请输⼊新的name:");String name = input.next();System.out.println("请输⼊新的password:");String password = input.next();System.out.println("请输⼊新的balance:");String balance = input.next();//执⾏插⼊语句,需要传⼊sql和paramsBaseDao bd = new BaseDao();String sql = "update petstore set id=?, name=?,password=?,balance = ? where id=?"; Object[] params = {id,name,password,balance,Id};int result = bd.executeDML(sql, params);if(result>0){System.out.println("修改成功");}else{System.out.println("修改失败");}}private void delGrade() {System.out.println("请输⼊要删除的id:");int id = input.nextInt();//执⾏插⼊语句,需要传⼊sql和params BaseDao bd = new BaseDao();String sql = "delete from petstore where id=?"; Object[] params = {id};int result = bd.executeDML(sql, params);if(result>0){System.out.println("删除成功");}else{System.out.println("删除失败");}}private void insertNewGrade() {//执⾏新增(年级编号,年级名称)System.out.println("请输⼊id:");int id = input.nextInt();System.out.println("请输⼊name:");String name = input.next();System.out.println("请输⼊password:"); String password = input.next();System.out.println("请输⼊balance:");String balance = input.next();//执⾏插⼊语句,需要传⼊sql和params BaseDao bd = new BaseDao();String sql = "insert into petstore value (?,?,?,?)"; Object[] params = {id,name,password,balance}; int result = bd.executeDML(sql, params);if(result>0){System.out.println("新增成功");}else{System.out.println("新增失败");}}}4、效果,下⾯是表中原有的⼀个数据1、插⼊2、删除3、更新4、查看表数据以上。
jdbc数据库增、删、改、查语句

jdbc数据库增、删、改、查语句一、增加数据1. 插入单行数据在JDBC中,我们可以使用INSERT INTO语句来向数据库中插入单行数据。
例如,我们要向student表中插入一条新的学生记录,可以使用以下语句:INSERT INTO student (id, name, age) VALUES (1, '张三', 18);2. 批量插入数据如果我们要向数据库中插入多行数据,可以使用批量插入的方式,以提高效率。
例如,我们要向student表中插入多条新的学生记录,可以使用以下语句:INSERT INTO student (id, name, age) VALUES (1, '张三', 18), (2, '李四', 20), (3, '王五', 22);二、删除数据1. 删除指定行数据在JDBC中,我们可以使用DELETE FROM语句来删除数据库中的指定行数据。
例如,我们要删除student表中id为1的学生记录,可以使用以下语句:DELETE FROM student WHERE id = 1;2. 删除所有数据如果我们要删除数据库中的所有数据,可以使用DELETE FROM语句,并不指定任何条件。
例如,我们要删除student表中的所有学生记录,可以使用以下语句:DELETE FROM student;三、修改数据1. 更新指定行数据在JDBC中,我们可以使用UPDATE语句来更新数据库中的指定行数据。
例如,我们要将student表中id为1的学生记录的年龄修改为20岁,可以使用以下语句:UPDATE student SET age = 20 WHERE id = 1;2. 批量更新数据如果我们要更新数据库中的多行数据,可以使用批量更新的方式,以提高效率。
例如,我们要将student表中id为1和2的学生记录的年龄都修改为20岁,可以使用以下语句:UPDATE student SET age = 20 WHERE id IN (1, 2);四、查询数据1. 查询所有数据在JDBC中,我们可以使用SELECT语句来查询数据库中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
THANK YOU!
扫一扫,关注威哥微信公众平台 微信号:weige-java
2、实现插入操作
• • • • • • • • • • • • 1、加载数据库驱动程序 Class.forName(驱动程序类) 2、通过用户名密码和连接地址获取数据库连接对象 DriverManager.getConnection(连接地址,用户名,密码) 3、构造插入的SQL语句 4、Statement实例 Statement stmt = conn.createStatement() 5、执行插入SQL语句 stmt.executeUpdate(sql) 6、关闭连接 stmt.close(); conn.close();
第20讲:JDBC实现简单增删改操作
课程大纲
• • • • 1、JDBC操作前的准备工作 2、实现插入操作 3、实现更新操作 4、实现删除操作
1、JDBC操作前的准备工作
• • • • 1、首先创建数据库表: Person,字段:id,name,age,description 2、导入数据库驱动包 mysql-connector-java-5.1.27-bin• • • • • • • • • • 1、加载数据库驱动程序 Class.forName(驱动程序类) 2、通过用户名密码和连接地址获取数据库连接对象 DriverManager.getConnection(连接地址,用户名,密码) 3、构造删除的SQL语句 4、Statement实例 Statement stmt = conn.createStatement() 5、执行删除SQL语句 stmt.executeUpdate(sql) 6、关闭连接 stmt.close(); conn.close();
3、实现更新操作
• • • • • • • • • • • • • 1、加载数据库驱动程序 Class.forName(驱动程序类) 2、通过用户名密码和连接地址获取数据库连接对象 DriverManager.getConnection(连接地址,用户名,密码) 3、构造更新的SQL语句 4、Statement实例 Statement stmt = conn.createStatement() 5、执行更新SQL语句 stmt.executeUpdate(sql) 6、关闭连接 stmt.close(); conn.close();