Java使用JDBC连接MYSQL数据库增删改查示例
JDBC连接MySql数据库步骤以及查询、插入、删除、更新等
JDBC连接MySql数据库步骤以及查询、插⼊、删除、更新等主要内容:JDBC连接数据库步骤。
⼀个简单详细的查询数据的例⼦。
封装连接数据库,释放数据库连接⽅法。
实现查询,插⼊,删除,更新等⼗⼀个处理数据库信息的功能。
(包括事务处理,批量更新等)把⼗⼀个功能都放在⼀起。
安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第⼀步,但是由于属于安装类,所以我们放在最后)⼀.JDBC连接数据库(编辑)步骤(主要有六个步骤)1.注册驱动: Class.forName("com.mysql.jdbc.Driver");显⽰的加载到JVM中2.获取连接:(1) param1: 要连接数据库的url-----》 String url="jdbc:mysql://localhost:3306/test?"+ "useUnicode=true&characterEncoding=UTF8";//防⽌乱码param2:要连接数据库的⽤户名--》 String user="h4";param3:要连接数据库的密码----》 String pass="111";Connection conn=DriverManager.getConnection(url,user,pass);//DriverManager下的⽅法:getConnection(String url,String username,String password)(2)接下来我们分析下url:"jdbc(这是协议以jdbc开头):mysql(这是⼦协议,数据库管理系统名称)://localhost(数据库来源地址):3306(⽬标端⼝)/test(要查询的表)?""useUnicode=true&characterEncoding=UTF8";添加这个是为了防⽌乱码,指定使⽤Unicode字符集,且使⽤UTF-8来编辑。
通过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("登陆失败,账号或密码输⼊错误");}}。
JDBC实现数据库增删改查功能
认识生物多样性生物教学设计教案一、教学内容本节课选自《生物学》教材第四章第一节“生物多样性”,详细内容包括:生物多样性的概念、层次、价值及保护措施。
通过对教材的学习,使学生了解生物多样性的重要性和当前面临的问题,提高环保意识。
二、教学目标1. 知识与技能:掌握生物多样性的概念、层次和价值,了解生物多样性的保护措施。
2. 过程与方法:培养学生收集、分析、整理资料的能力,提高观察、思考、解决问题的能力。
3. 情感态度价值观:培养学生关爱生物、保护环境的情感,增强环保意识。
三、教学难点与重点重点:生物多样性的概念、层次和价值。
难点:生物多样性保护措施的实践与应用。
四、教具与学具准备1. 教具:多媒体课件、实物展示(动植物标本、图片等)。
五、教学过程1. 导入新课:通过展示生物多样性的图片,引发学生对生物多样性的好奇心,提出问题:“什么是生物多样性?为什么我们要保护生物多样性?”2. 自主学习:学生阅读教材,了解生物多样性的概念、层次和价值,教师巡回指导。
3. 课堂讲解:教师针对生物多样性的概念、层次和价值进行详细讲解,结合实物展示,让学生更加直观地理解。
4. 实践情景引入:分组讨论,让学生探讨生物多样性的保护措施,并提出具体的实践案例。
5. 例题讲解:讲解生物多样性保护的例题,引导学生运用所学知识解决问题。
6. 随堂练习:设计有关生物多样性概念、层次、价值和保护措施的练习题,巩固所学知识。
六、板书设计1. 生物多样性的概念2. 生物多样性的层次3. 生物多样性的价值4. 生物多样性的保护措施七、作业设计1. 作业题目:(1)简述生物多样性的概念、层次和价值。
(2)列举生物多样性的保护措施,并举例说明。
2. 答案:(1)生物多样性是指生物及其生存环境的多样性,包括遗传多样性、物种多样性和生态系统多样性。
生物多样性具有直接价值、间接价值和潜在价值。
(2)生物多样性的保护措施包括:就地保护、迁地保护、开展生物多样性保护的科学研究和制定生物多样性保护的法律和政策。
Java连接MySql数据库,并且实现增删改查功能(精)
Java连接MySql数据库,并且实现增删改查功能!这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是 j2sdk1.4.2_08,Eclipse3.1。
下面我把在Eclipse3.1下怎样配置数据库连接信息简单说一下。
1.启动Eclipse3.1。
2.建立一个Java project就叫DbConnect 吧,再在该Project下建立一个新类也叫DbConnect 吧。
3.右击DbConnect.java文件点import,选择Archive file然后选择你的mysql-connector-java-3.1.8-bin.jar文件,点Finish。
你会看到有好些文件被加载进来,OK这就是连接MySql所需的驱动信息。
如果到了这里你都成功的话那么恭喜你,你已经成功一半了!:)4.接下来把我下面的代码copy到你的Java文件中,修改相关的数据库连接信息运行一下。
OK?我说一下那个mysql-connector-java-3.1.8-bin.jar文件,其实这就是一个MySql的驱动,各数据库厂商提供了不同的适用于JDBC的驱动使得在Java中连接数据库非常简单。
这里我就不多说了,以后我会写篇专门介绍数据库驱动的文章。
关于MySql的驱动还有更新版本的,你需要到MySql的网站上去下载,这个网上到处都是,我就不多说了。
下面看程序,有些地方我写了详细的注释应该能看懂。
这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。
多指教,谢谢!/*** 数据库连接、选择、更新、删除演示*///import java.sql.*;import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.DriverManager;import java.util.*;public class DbConnect{/////////////////////////////////////////———–>>>数据成员 and 构造函数private Connection dbconn;private Statement dbstate;private ResultSet dbresult;DbConnect({dbconn = null;dbstate = null;dbresult = null;}/////////////////////////////////////////———–>>>类方法public void print(String str//简化输出{System.out.println(str;}//end print(…/*** 连接MySql数据库* @param host* @param port* @param dbaName* @param usName* @param psw* @return bool值,连接成功返回真,失败返回假*/public boolean dbConnection(String host, String port, String dbaName, String usName, String psw{String driverName = "com.mysql.jdbc.Driver";//"org.gjt.mm.mysql.Driver"两个驱动都可以用String dbHost = host;//数据库的一些信息String dbPort = port;String dbName = dbaName;String enCoding = "?useUnicode=true&characterEncoding=gb2312"; //解决MySql中文问题,要连续写不能空格String userName = usName;String Psw = psw;String url = "jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName + enCoding;try{Class.forName(driverName.newInstance(;dbconn = DriverManager.getConnection(url, userName, Psw;//getConnection(url, userName, Psw从给的driver中选择合适的去连接数据库//return a connection to the URL}catch(Exception e{print("url = " + url; //发生错误时,将连接数据库信息打印出来print("userName = " + userName;print("Psw" + Psw;print("Exception: " + e.getMessage(;//得到出错信息}if (dbconn != null//dbconn != null 表示连接数据库成功,由异常保证!?return true;elsereturn false;}// end boolean dbConnection(…/*** 对数据库表进行选择操作!* @param tableName 数据库表名* @param fieles 字段名* @param selCondition 选择条件* @return 一个含有map的List(列表)*/public ArrayList dbSelect(String tableName, ArrayList fields, String selCondition{ArrayList mapInList = new ArrayList(;String selFields = "";for (int i = 0; iselFields += fields.get(i + ", ";String selFieldsTem = selFields.substring(0, selFields.length( – 2;//根据String的索引提取子串try{dbstate = dbconn.createStatement(;String sql = "select " + selFieldsTem + " from " + tableName + selCondition;print("sql = " + sql;try{dbresult = dbstate.executeQuery(sql;}catch(Exception err{print("Sql = " + sql;print("Exception: " + err.getMessage(;}pspan while(dbresult.next({ pspan Map selResult = new HashMap(;selResult.put("message_type", dbresult.getString("message_type"; selResult.put("message_content", dbresult.getString("message_content"; mapInList.add(selResult;}}catch(Exception e{print("Exception: " + e.getMessage(;}return mapInList;}//end String dbSelect(…/*** 对数据库表中的记录进行删除操作* @param tableName* @param condition* @return bool值,表示删除成功或者失败。
jdbc增删改查实验报告
JDBC增删改查实验报告一、引言数据库是现代软件开发中不可或缺的一部分,而对数据库的操作也是开发中最常见的任务之一。
JDBC(Java Database Connectivity)是Java语言中用于与数据库进行交互的API。
本实验将通过使用JDBC进行增删改查操作,探索JDBC在数据库操作中的应用。
二、实验目的通过本实验,我们将达到以下目的: 1. 理解JDBC的基本概念和原理; 2. 掌握使用JDBC进行数据库连接和操作的方法; 3. 熟悉JDBC在增删改查中的应用; 4. 实践使用JDBC进行数据库操作。
三、实验环境本实验使用以下环境: - 操作系统:Windows 10 - JDK版本:Java 8 - 数据库:MySQL 8.0 - IDE:Eclipse四、实验步骤4.1 数据库准备在MySQL数据库中创建一个名为”test_db”的数据库,并创建一个名为”users”的表,表结构如下:CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,email VARCHAR(50));4.2 配置JDBC连接在Java项目中引入JDBC依赖,例如使用Maven管理依赖的项目,在pom.xml文件中添加以下代码:<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency></dependencies>4.3 连接数据库在Java代码中使用JDBC连接数据库,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库String url = "jdbc:mysql://localhost:3306/test_db";String username = "root";String password = "123456";try {Connection connection = DriverManager.getConnection(url, username, password);// 连接成功,进行后续操作// ...} catch (SQLException e) {e.printStackTrace();}}}4.4 插入数据使用JDBC向数据库中插入数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 插入数据String insertSql = "INSERT INTO users (name, age, email) VALUES (?, , )";PreparedStatement statement = connection.prepareStatement(insertSq l);statement.setString(1, "张三");statement.setInt(2, 20);statement.setString(3,"********************");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("插入成功");} else {System.out.println("插入失败");}} catch (SQLException e) {e.printStackTrace();}}}4.5 查询数据使用JDBC从数据库中查询数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 查询数据String selectSql = "SELECT * FROM users";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(selectSql);while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");int age = resultSet.getInt("age");String email = resultSet.getString("email");System.out.println("id: " + id + ", name: " + name + ", age: " + age + ", email: " + email);}} catch (SQLException e) {e.printStackTrace();}}}4.6 更新数据使用JDBC更新数据库中的数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 更新数据String updateSql = "UPDATE users SET age = ? WHERE name = ?";PreparedStatement statement = connection.prepareStatement(updateSq l);statement.setInt(1, 25);statement.setString(2, "张三");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("更新成功");} else {System.out.println("更新失败");}} catch (SQLException e) {e.printStackTrace();}}}4.7 删除数据使用JDBC从数据库中删除数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 删除数据String deleteSql = "DELETE FROM users WHERE name = ?";PreparedStatement statement = connection.prepareStatement(deleteSq l);statement.setString(1, "张三");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("删除成功");} else {System.out.println("删除失败");}} catch (SQLException e) {e.printStackTrace();}}}五、实验总结通过本次实验,我们成功地使用JDBC进行了增删改查操作。
Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
Java通过JDBC连接数据库的三种⽅式并对数据库实现增删改查前⾔java连接数据库完整流程为:1,获得驱动(driver),数据库连接(url),⽤户名(username),密码(password)基本信息的三种⽅式。
2,通过获得的信息完成JDBC实现连接数据库。
注:连接前请导⼊jar包,例:连接mysql数据库需要导⼊mysql-connector-java-5.1.39-bin.jar包连接数据库的三种⽅式三种⽅式中⼆,三最为常⽤⼀,直接获取数据库信息,并jdbc驱动连接这⾥写代码⽚public static Connection connection() {//获得连接数据库连接Connection conn=null;try {//初始化Driver类,注册驱动Class.forName("com.mysql.jdbc.Driver");//连接数据库conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/web", "root", "root");} catch (Exception e) {e.printStackTrace();}return conn;}⼆,获得db.properties⽂件中的配置信息获得注解:ResourceBundle 类的作⽤就是读取资源属性⽂件(properties),根据.properties⽂件的名称信息(本地化信息),匹配当前系统的国别语⾔信息(也可以程序指定),然后获取相应的properties⽂件的内容。
public class Jdbc_Conn2 {private static String driver;private static String url;private static String username;private static String password;static {//通过ResourceBundle获得db⽂件中的信息ResourceBundle bundle = ResourceBundle.getBundle("db");//通过key值获得db⽂件中的配置信息driver=bundle.getString(driver);url=bundle.getString(url);username=bundle.getString(username);password=bundle.getString(password);}public static Connection mysqlconn() {//连接数据库Connection conn=null;Class.forName(driver);conn= DriverManager.getConnection(url, username, password);return conn;}三、通过IO流获得db⽂件中配置信息注解:*⾸先,调⽤对象的getClass()⽅法是获得对象当前的类类型,这部分数据存在⽅法区中,⽽后在类类型上调⽤getClassLoader()⽅法是得到当前类型的类加载器,在Java中所有的类都是通过加载器加载到虚拟机中的,⽽且类加载器之间存在⽗⼦关系,就是⼦知道⽗,⽗不知道⼦,这样不同的⼦加载的类型之间是⽆法访问的(虽然它们都被放在⽅法区中),所以在这⾥通过当前类的加载器来加载资源也就是保证是和类类型同⼀个加载器加载的。
jdbc实现数据库增删改查的流程
一、概述Java Database Connectivity(JDBC)是Java编程语言用于与数据库进行连接的一种标准接口。
通过JDBC,开发人员可以在Java应用程序中执行对数据库的增删改查操作。
本文将介绍JDBC实现数据库增删改查的流程,包括数据库连接、数据操作、事务管理等内容。
二、数据库连接1. 导入JDBC驱动在使用JDBC之前,首先需要导入数据库对应的JDBC驱动。
一般来说,不同的数据库有不同的JDBC驱动,开发人员需要根据实际使用的数据库选择对应的驱动,并将其导入项目中。
2. 加载驱动类在Java中,可以使用Class.forName()方法来加载JDBC驱动类。
通过这一步,程序可以在运行时将驱动注册到DriverManager中,以便后续进行数据库连接。
3. 建立数据库连接使用DriverManager.getConnection()方法可以建立与数据库的连接。
在这一步中,需要提供数据库的URL、用户名和密码等信息,以确保能够成功连接到数据库。
三、数据操作1. 创建Statement或PrepareStatement在连接成功后,可以通过Connection对象创建Statement或PrepareStatement对象。
前者用于执行静态SQL语句,后者则用于执行预编译的SQL语句。
2. 执行SQL语句通过Statement或PrepareStatement对象,可以执行增删改查等SQL语句操作。
开发人员需要根据具体需求编写对应的SQL语句,并通过executeUpdate()或executeQuery()方法来执行。
3. 处理结果集对于查询操作,执行executeQuery()方法后会返回一个ResultSet对象,其中包含了查询得到的结果集。
开发人员可以通过ResultSet对象来遍历结果集,并进行相应的数据处理操作。
四、事务管理1. 开启事务在JDBC中,可以通过Connection对象的setAutoCommit()方法来开启或关闭自动提交模式。
java连接mysql以及增删改查操作
java连接mysql以及增删改查操作java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺。
直接上代码:(温馨提醒:你的项⽬提前导⼊连接才有的以下操作)1class DBConnection{23// 驱动类名4 String driver="com.mysql.jdbc.Driver";5// URL格式,最后为数据库名6 String url="jdbc:mysql://localhost:3306/javaTest?useUnicode=true&characterEncoding=UTF8"; //JavaTest为你的数据库名称7 String user="root";8 String password="123456";9 Connection coon=null;10public DBConnection(){11try{12// 加载驱动程序13 Class.forName(driver);14 coon=(Connection)DriverManager.getConnection(url,user,password);15if(!coon.isClosed()){16 System.out.println("成功连接数据库!");17 }18 }catch (Exception e){19 e.printStackTrace();20 }21 }22public void close(){23try{24this.coon.close();25 }catch(Exception e){26 e.printStackTrace();27 }28 }29// 增加数据30public void add(String name,int age,String gender){31// String sql="insert into usrInfo(username,gender,age) values(?,?,?)"; //向usrInfo表中插⼊数据32 String sql="insert into usrInfo(age,gender,username) values('"+age+"','"+gender+"','"+name+"')";33try{34 PreparedStatement preStmt=(PreparedStatement)this.coon.prepareStatement(sql);35// preStmt.setString(1, name);36// preStmt.setInt(3, age);37// preStmt.setString(2, gender); //和上⾯的注释的⼀块组成另外⼀种插⼊⽅法38 preStmt.executeUpdate();39 System.out.println("插⼊数据成功!");40 preStmt.close();41 }catch(Exception e){42 e.printStackTrace();43 }44 }4546// 查询47public void select(){48 String sql="select * from usrInfo"; //查询usrInfo表中的信息4950try{51 Statement stmt=(Statement)this.coon.createStatement();52 ResultSet rs=(ResultSet)stmt.executeQuery(sql); //得到的是结果的集合53 System.out.println("--------------------------------");54 System.out.println("姓名"+"\t"+"年龄"+"\t"+"性别");55 System.out.println("--------------------------------");56while(rs.next()){57 String name=rs.getString("username");58int age=rs.getInt("age");59 String gender=rs.getString("gender");60 System.out.println(name+"\t"+age+"\t"+gender);61 }62 stmt.close();63 }catch(Exception e){64 e.printStackTrace();65 }66 }6768// 更改数据6970public void update(String name,int age){71 String sql="update usrInfo set age=? where username=?"; //推荐使⽤这种⽅式,下⾯的那种注释⽅式不知道为啥有时候不好使72// String sql="update usrInfo set age="+age+" where username='"+name+"'"; 73try{74 PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);75 prestmt.setInt(1, age);76 prestmt.setString(2,name);77 prestmt.executeUpdate();787980// Statement stmt=(Statement)this.coon.createStatement();81// stmt.executeUpdate(sql);82 System.out.println("更改数据成功!");83 prestmt.close();84 }catch(Exception e){85 e.printStackTrace();86 }87 }8889// 删除数据90public void del(String name){91 String sql="delete from usrInfo where username=?";92try{93 PreparedStatement prestmt=(PreparedStatement)this.coon.prepareStatement(sql);94 prestmt.setString(1, name);95 prestmt.executeUpdate();96 System.out.println("删除数据成功!");97 prestmt.close();98 }catch(Exception e){99 e.printStackTrace();100 }101 }102 }在主类中对其创建实例,实例中构造⽅法完成数据库的连接操作,实例调⽤增删改查⽅法进⾏对数据库信息的操作1public class mysqlTest {2public static void main(String args[]){3 Scanner in=new Scanner(System.in);4 DBConnection db=new DBConnection();56// 插⼊数据7 System.out.println("输⼊姓名,年龄,性别:");8 String name=in.next();9int age=in.nextInt();10 String gender=in.next();11 db.add(name, age, gender);1213// 查询数据14 db.select();1516// 修改数据17// String name=in.next();18// int age=in.nextInt();19// db.update(name, age);202122// 删除数据23// String name=in.next();24// db.del(name);25//26// db.close();27 }2829 }原创不易,尊重版权。
Java程序设计中的数据库连接与增删改查操作案例
Java程序设计中的数据库连接与增删改查操作案例数据库连接与增删改查操作是Java程序设计中非常重要的一部分,它们在各种应用中被广泛使用。
本文将通过案例介绍Java程序设计中数据库连接与增删改查操作的实现方法。
案例一:数据库连接在Java程序中,可以使用JDBC(Java Database Connectivity)来连接数据库。
以下是一个示例代码:```import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DatabaseConnection {private static final String DB_URL ="jdbc:mysql://localhost/mydatabase";private static final String DB_USER = "username";private static final String DB_PASSWORD = "password";public static Connection getConnection() throws SQLException {Connection connection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);return connection;}}```在这个示例中,我们使用了MySQL数据库,并使用了JDBC的`DriverManager`类来获取数据库连接。
通过`getConnection()`方法可以获取一个数据库连接对象。
案例二:数据插入一旦我们成功地连接到数据库,就可以执行数据插入操作了。
以下是一个简单的插入操作的示例代码:```import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class DataInsertion {public static void insertData(String name, int age) {try {Connection connection = DatabaseConnection.getConnection();String sql = "INSERT INTO user(name, age) VALUES (?, ?)";PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, name);statement.setInt(2, age);statement.executeUpdate();statement.close();connection.close();} catch (SQLException e) {e.printStackTrace();}}}```在这个示例中,我们通过`PreparedStatement`对象执行了一个数据插入操作。
javaWeb-连接mysql数据库增删改查(精)
连接MYSQL数据库的简单增删改查项目框架如图所示:所需工具:所需工具:所需工具:所需工具:程序代码:package er.action; import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import erBean;import erDao;public class InsertOrUpdateAction extends HttpServlet { /****/private static final long serialVersionUID = 1L;private UserDao userDao ;public void doGet(HttpServletRequest request, HttpServletResponse responsethrows ServletException, IOException {doPost(request, response;}public void doPost(HttpServletRequest request, HttpServletResponse responsethrows ServletException, IOException {request.setCharacterEncoding("utf-8";response.setCharacterEncoding("utf-8";userDao = new UserDao(;String str = request.getRequestURI(;str = str.substring(stIndexOf("/"+1;String yx = request.getParameter("yx";String zy = request.getParameter("zy";String age = request.getParameter("age";String dh = request.getParameter("dh"; String qq = request.getParameter("qq"; String sex = request.getParameter("sex"; UserBean userBean = new UserBean(; userBean.setYx(yx;userBean.setZy(zy;if(!"".equals(age&&age!=null{userBean.setAge(Integer.valueOf(age;}else{userBean.setAge(0;}userBean.setDh(dh;userBean.setQq(qq;userBean.setSex(sex;if("InsertUserAction".equals(str{if(userDao.insertUser(userBean{response.sendRedirect("SelectAllUser";}else{response.sendRedirect("SelectAllUser";}}else if("UpdateUserAction".equals(str{ String strId = request.getParameter("id"; if(!"".equals(strId&&strId!=null{ userBean.setId(Integer.valueOf(strId;}else{userBean.setId(-1;}if(userDao.updateUser(userBean{response.sendRedirect("SelectAllUser";}else{response.sendRedirect("SelectAllUser";}}}}package er.action;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse responsethrows ServletException, IOException {doPost(request, response;}public void doPost(HttpServletRequest request, HttpServletResponse responsethrows ServletException, IOException {String name= request.getParameter("name";String password = request.getParameter("password"; if("".equals(name||"".equals(password{response.sendRedirect("/javaWebTest/index.jsp";}else{if("123".equals(name&&"123".equals(password{response.sendRedirect("SelectAllUser";}else{response.sendRedirect("/javaWebTest/index.jsp";}}}}package er.action;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import erBean;import erDao;public class UserAction extends HttpServlet {/****/private static final long serialVersionUID = 1L;private UserDao userDao ;public void doGet(HttpServletRequest request, HttpServletResponse response throws ServletException, IOException {doPost(request, response;}public void doPost(HttpServletRequest request, HttpServletResponse response throws ServletException, IOException {request.setCharacterEncoding("utf-8";response.setCharacterEncoding("utf-8";userDao = new UserDao(;String str = request.getRequestURI(;str = str.substring(stIndexOf("/"+1;if("SelectAllUser".equals(str.trim({List list = userDao.getAllUser(;request.setAttribute("UserList", list;request.getRequestDispatcher("/userList.jsp".forward(request, response;}else if("SelectOneUser".equals(str{String strId = request.getParameter("id";int id = Integer.valueOf(strId;UserBean userBean = userDao.selectUserById(id;request.setAttribute("userBean", userBean;request.getRequestDispatcher("/updateUser.jsp".forward(request, response; }else if("DeleteUserById".equals(str{String strId = request.getParameter("id";int id = Integer.valueOf(strId;if(userDao.deleteUser(id{response.sendRedirect("SelectAllUser";}else{response.sendRedirect("SelectAllUser";}}}}package er.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import erBean;import com.util.DBUtils;public class UserDao {private DBUtils dbUtil;/*** 查询所有的user* @return*/public List getAllUser({dbUtil = new DBUtils(;List list = new ArrayList (;String sql = "select * from user";ResultSet rs = dbUtil.exceteSQl(sql; try {while(rs.next({int i =1;UserBean userBean = new UserBean(; userBean.setId(rs.getInt(i++; userBean.setName(rs.getString(i++; userBean.setYx(rs.getString(i++; userBean.setZy(rs.getString(i++; userBean.setAge(rs.getInt(i++; userBean.setDh(rs.getString(i++; userBean.setQq(rs.getString(i++; userBean.setSex(rs.getString(i++;list.add(userBean;}} catch (SQLException e {e.printStackTrace(;}finally{dbUtil.close(;}return list;}/*** 根据id查询user* @param id* @return*/public UserBean selectUserById(int id{ dbUtil = new DBUtils(;UserBean userBean = new UserBean(;String sql = "select * from user where id = '"+id+"'";ResultSet rs = dbUtil.exceteSQl(sql;try {if(rs.next({int i =1;userBean.setId(rs.getInt(i++;userBean.setYx(rs.getString(i++;userBean.setZy(rs.getString(i++;userBean.setAge(rs.getInt(i++;userBean.setDh(rs.getString(i++;userBean.setQq(rs.getString(i++;userBean.setSex(rs.getString(i++;}} catch (SQLException e {e.printStackTrace(;}return userBean;}/*** 插入用户* @param userBean* @return*/public boolean insertUser(UserBean userBean{dbUtil = new DBUtils(;String sql = "insert into user (yx,zy,age,dh,qq,sex values(?,?,?,?,?,?"; int row = dbUtil.excete(sql, newObject[]{userBean.getYx(,userBean.getZy(,userBean.getAge(,userBean.getDh(,userBean.getQq(,userBean.getSex(};if(row>0{return true;}return false;}/*** 删除用户* @param id* @return*/public boolean deleteUser(int id{dbUtil = new DBUtils(;String sql = "delete from user where id = '"+id+ "'";int row = dbUtil.excete(sql;if(row>0{return true;}return false;}/*** 修改user* @param userBean* @return*/public boolean updateUser(UserBean userBean{dbUtil = new DBUtils(;String sql = "update user set yx =? ,zy=?,age=?,dh=?,qq=?,sex=? where id = ?";int row = dbUtil.excete(sql, newObject[]{userBean.getYx(,userBean.getZy(,userBean.getAge(,userBean.getD h(,userBean.getQq(,userBean.getSex(,userBean.getId(};if(row>0{return true;}return false;}}package er.bean;public class UserBean {private int id;private String name;//电话private String yx;//院系private String zy;//专业private int age;//年龄private String dh;private String qq;private String sex;public int getId( {return id;}public void setId(int id {this.id = id;}public String getName( {return name;}public void setName(String name { = name;public String getYx( {return yx;}public void setYx(String yx { this.yx = yx;}public String getZy( {return zy;}public void setZy(String zy { this.zy = zy;}public int getAge( {return age;}public void setAge(int age { this.age = age;}public String getDh( {return dh;}public void setDh(String dh { this.dh = dh;}public String getQq( {return qq;public void setQq(String qq { this.qq = qq;}public String getSex( {return sex;}public void setSex(String sex { this.sex = sex;}}package er.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import erBean; import com.util.DBUtils;public class UserDao {private DBUtils dbUtil;/*** 查询所有的user* @return*/public List getAllUser({dbUtil = new DBUtils(;List list = new ArrayList (;String sql = "select * from user"; ResultSet rs = dbUtil.exceteSQl(sql; try {while(rs.next({int i =1;UserBean userBean = new UserBean(; userBean.setId(rs.getInt(i++; userBean.setName(rs.getString(i++; userBean.setYx(rs.getString(i++; userBean.setZy(rs.getString(i++; userBean.setAge(rs.getInt(i++; userBean.setDh(rs.getString(i++; userBean.setQq(rs.getString(i++; userBean.setSex(rs.getString(i++; list.add(userBean;}} catch (SQLException e {e.printStackTrace(;}finally{dbUtil.close(;}return list;/*** 根据id查询user* @param id* @return*/public UserBean selectUserById(int id{dbUtil = new DBUtils(;UserBean userBean = new UserBean(;String sql = "select * from user where id = '"+id+"'"; ResultSet rs = dbUtil.exceteSQl(sql;try {if(rs.next({int i =1;userBean.setId(rs.getInt(i++;userBean.setYx(rs.getString(i++;userBean.setZy(rs.getString(i++;userBean.setAge(rs.getInt(i++;userBean.setDh(rs.getString(i++;userBean.setQq(rs.getString(i++;userBean.setSex(rs.getString(i++;}} catch (SQLException e {e.printStackTrace(;return userBean;}/*** 插入用户* @param userBean* @return*/public boolean insertUser(UserBean userBean{dbUtil = new DBUtils(;String sql = "insert into user (yx,zy,age,dh,qq,sex values(?,?,?,?,?,?";int row = dbUtil.excete(sql, newObject[]{userBean.getYx(,userBean.getZy(,userBean.getAge(,userBean.getDh(,userBean .getQq(,userBean.getSex(};if(row>0{return true;}return false;}/*** 删除用户* @param id* @return*/public boolean deleteUser(int id{dbUtil = new DBUtils(;String sql = "delete from user where id = '"+id+ "'";int row = dbUtil.excete(sql;if(row>0{return true;}return false;}/*** 修改user* @param userBean* @return*/public boolean updateUser(UserBean userBean{dbUtil = new DBUtils(;String sql = "update user set yx =? ,zy=?,age=?,dh=?,qq=?,sex=? where id = ?";int row = dbUtil.excete(sql, newObject[]{userBean.getYx(,userBean.getZy(,userBean.getAge(,userBean.getDh(,userBean .getQq(,userBean.getSex(,userBean.getId(};if(row>0{return true;}return false;}}package com.util;import java.sql.Date;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;public class DBUtils {private static Connection conn=null;private Statement st=null;private ResultSet rs = null;private PreparedStatement ps;static{try {Class.forName("com.mysql.jdbc.Driver";conn = (ConnectionDriverManager.getConnection("jdbc:mysql://localhost:3306/ygx?useUnicode=true&char acterEncoding=UTF-8","root" ,"123456" ;} catch (ClassNotFoundException e {e.printStackTrace(;} catch (SQLException e {e.printStackTrace(;}}/*** @Title: exceteSQl* @Description: TODO(执行不带参数的sql语句* @param sql* @return ResultSet* @throws*/public ResultSet exceteSQl(String sql{try {st =(Statement conn.createStatement(;rs = st.executeQuery(sql;} catch (SQLException e {e.printStackTrace(;}return rs;}/**** @Title: exceteSQl* @Description: TODO(执行带参数的sql语句* @param sql* @param obj* @return ResultSet* @throwspublic ResultSet exceteSQl(String sql, Object[] obj{int length = obj.length;try {ps = conn.prepareStatement(sql;preparStateSql(obj, length;rs = ps.executeQuery(;} catch (SQLException e {e.printStackTrace(;}return rs;}/**** @Title: excete* @Description: TODO(此方法适用于不带参数的修改,删除,增加* @param sql* @return int* @throws*/public int excete(String sql{int row =0;try {st = (Statement conn.createStatement(;row = st.executeUpdate(sql;} catch (SQLException e {e.printStackTrace(;}finally{close(;}return row;}/**** @Title: excete* @Description: TODO(此方法适用带参数的修改,删除,增加* @param sql* @param obj* @return int* @throws*/public int excete(String sql, Object[] obj{int row =0;int length = obj.length;try {ps = conn.prepareStatement(sql;preparStateSql(obj, length;row = ps.executeUpdate(;} catch (SQLException e {e.printStackTrace(;}finally{close(;}return row;}/**** @Title: preparStateSql* @Description: TODO(参数赋值* @param obj* @param length* @throws SQLException void* @throws*/private void preparStateSql(Object[] obj, int length throws SQLException { for(int i=0;i{if(obj[i].getClass(==String.class{ps.setString(i+1, obj[i].toString(;}else if(obj[i].getClass(==Integer.class{ps.setInt(i+1, (Integerobj[i];}else if(obj[i].getClass(==Double.class{ps.setDouble(i+1, (Doubleobj[i];}else if(obj[i].getClass(==Date.class//java.sql.Date {ps.setDate(i+1, (Dateobj[i];}}}/**** @Title: close* @Description: TODO(数据库连接关闭 void* @throws*/public void close({if(rs!=null{try {rs.close(;} catch (SQLException e {e.printStackTrace(;}}if(st!=null{try {st.close(;} catch (SQLException e {e.printStackTrace(;}}if(ps!=null{try {ps.close(;} catch (SQLException e {e.printStackTrace(;}}}public static void main(String[] args { DBUtils db = new DBUtils(;String sql = "select * from user "; ResultSet rr = db.exceteSQl(sql;try {while(rr.next({int i =1;System.out.print(rr.getInt(i+++" "; System.out.print(rr.getString(i+++" "; System.out.print(rr.getString(i+++" "; System.out.print(rr.getInt(i+++" "; System.out.print(rr.getString(i+++" "; System.out.print(rr.getString(i+++" "; System.out.println(rr.getString(i++;}} catch (SQLException e {// TODO Auto-generated catch blocke.printStackTrace(;}finally{db.close(;}//String sql = "insert into user (yx,zy,age,dh,qq,sex values(\"软件\",\"测试\",12,\"110\",\"123456789\",\"女\"";/* String sql = "insert into user (yx,zy,age,dh,qq,sexvalues(?,?,?,?,?,?";int row = db.excete(sql, new Object[]{"软件","测试",12,"110","123456789","女"};//int row = db.excete(sql;if(row>0{System.out.println("增加成功";}*//*String sql = "update user set yx=? where id =?";int row = db.excete(sql, new Object[]{"计通",3};if(row>0{System.out.println("修改成功";}*/}}所需要的驱动包:W eb.xml配置:xml version="1.0"encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><display-name> display-name><servlet><servlet-name>UserAction servlet-name><servlet-class>erAction servlet-class>servlet><servlet><servlet-name>InsertOrUpdateAction servlet-name><servlet-class>er.action.InsertOrUpdateAction servlet-class> servlet><servlet><servlet-name>LoginAction servlet-name><servlet-class>er.action.LoginAction servlet-class>servlet><servlet-mapping><servlet-name>UserAction servlet-name><url-pattern>/SelectAllUser url-pattern><url-pattern>/SelectOneUser url-pattern><url-pattern>/DeleteUserById url-pattern>servlet-mapping><servlet-mapping><servlet-name>InsertOrUpdateAction servlet-name><url-pattern>/InsertUserAction url-pattern><url-pattern>/UpdateUserAction url-pattern>servlet-mapping><servlet-mapping><servlet-name>LoginAction servlet-name><url-pattern>/LoginAction url-pattern>servlet-mapping><welcome-file-list><welcome-file>index.jsp welcome-file>welcome-file-list>web-app>J sp:<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath(;String basePath =request.getScheme(+"://"+request.getServerName(+":"+request.getServerPo rt(+path+"/";%>DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><style type="text/css">.table1{margin:0 auto;border-collapse: collapse;}.table1td{padding: 0px;height:25px;border:1px solid #6AB6B6;text-align:center;font-family:"微软雅黑";font-size:12px;background-color:#EAFEFE;}.table1td.title{height:28px;color:#fff;background-color:#6AB6B6;font-weight:bold;font-size:20px;text-align: center;}.table1tr.colname{font-size: 14px;font-weight: bold;}* .nobd_table td{border: none;}style>head><body><div align="center"style="padding-top: 30px;" id = "add"> <form action="LoginAction"method="post"><table class="table1"width="50%"><tr><td class="title"colspan="2">欢迎你的登录!td>tr><tr><td>帐号td><td><input type="text"name="name">td>tr><tr><td>密码td><td><input type="password"name="password">td>tr><tr><td colspan="2"><input type="submit"value="登录"><inputtype="reset"value="重置"> td>tr>table>form>div>body>html><%@ page language="java"import="java.util.*,erBean" pageEncoding="utf-8"%><%@ taglib prefix="c"uri="/jsp/jstl/core"%><%String path = request.getContextPath(;String basePath =request.getScheme(+"://"+request.getServerName(+":"+request.getServerPo rt(+path+"/";%>DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'userList.jsp' starting page title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><style type="text/css">.table1{margin:0 auto;border-collapse: collapse;}.table1td{padding: 0px;height:25px;border:1px solid #6AB6B6;text-align:center;font-family:"微软雅黑";font-size:12px;background-color:#EAFEFE;}.table1td.title{height:28px;color:#fff;background-color:#6AB6B6;font-weight:bold;font-size:20px;text-align: center;}.table1tr.colname{font-size: 14px;font-weight: bold;* .nobd_table td{border: none;}style><script type="text/javascript">function goback({}script>head><body><div align="center"style="padding-top: 30px;" id="add"><form action="UpdateUserAction"method="post"><table class="table1"width="50%"><tr><td colspan="2"class="title">user信息填写td>tr><tr><td>院系td><td><input type="text"name="yx"id="yx"value="${userBean.yx }"><input type="hidden"name="id"value="${userBean.id }">td>tr><tr><td>专业td><td><input type="text"name="zy"id="zy"value="${userBean.zy }">td> tr><tr><td>年龄td><td><input type="text"name="age"id="age"value="${userBean.age }"> td><tr><td>电话td><td><input type="text"name="dh"id="dh"value="${userBean.dh }">td> tr><tr><td>QQ td><td><input type="text"name="qq"id="qq"value="${userBean.qq }">td> tr><tr><td>行别td><td><c:set value="男"var="sexs"> c:set><c:if test="${userBean.sex eq sexs }"><input type="radio"name="sex"value="男"checked="checked">男<input type="radio"name="sex"value="女">女c:if><c:if test="${userBean.sex ne sexs }"><input type="radio"name="sex"value="男">男<input type="radio"checked="checked"name="sex"value="女">女c:if>td>tr><tr><td colspan="2"><input type="submit"value="提交"><inputtype="reset"value="重置"><input type="button"value="返回"onclick="Javascript:window.history.go(-1;">td>tr>table>form>div>body>html><%@ page language="java"import="java.util.*,erBean" pageEncoding="utf-8"%><%@ taglib prefix="c"uri="/jsp/jstl/core"%><%String path = request.getContextPath(;String basePath =request.getScheme(+"://"+request.getServerName(+":"+request.getServerPo rt(+path+"/";%>DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'userList.jsp' starting page title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><style type="text/css">.table1{margin:0 auto;border-collapse: collapse;}.table1td{padding: 0px;height:25px;border:1px solid #6AB6B6;text-align:center;font-family:"微软雅黑";font-size:12px;background-color:#EAFEFE;}.table1td.title{height:28px;color:#fff;background-color:#6AB6B6;font-weight:bold;font-size:20px;text-align: center;}.table1tr.colname{font-size: 14px;font-weight: bold;}* .nobd_table td{border: none;}style><script type="text/javascript">function viewList({document.getElementById('list'.style.display= ''; document.getElementById('add'.style.display= 'none'; }function viewAdd({document.getElementById('list'.style.display= 'none'; document.getElementById('add'.style.display= '';}script>head><body onload="viewList("><div align="center"style="padding-top: 30px;" id="list"><table width="70%"class="table1"><tr><td colspan="8"class="title">user表列表信息<input type="button" value="增加"onclick="viewAdd(">td>tr><tr><td>序号td><td>姓名td><td>院系td><td>专业td><td>年龄td><td>电话td><td>QQ td><td>性别td><td>操作td>tr><c:forEach var="bean"items="${UserList }" ><tr><td>${bean.id }td><td>${ }td><td>${bean.yx }td><td>${bean.zy }td><td>${bean.age }td><td>${bean.dh }td><td>${bean.qq }td><td>${bean.sex }td><td><a href="SelectOneUser?id=${bean.id}">修改a><a href="DeleteUserById?id=${bean.id}">删除a>td>tr>c:forEach>table>div><div align="center"style="padding-top: 30px;" id = "add"> <form action="InsertUserAction"method="post"><table class="table1"width="50%"><tr><td colspan="2"class="title">user信息填写td>tr><td>院系td><td><input type="text"name="yx"id="yx">td>tr><tr><td>姓名td><td><input type="text"name="yx"id="name">td>tr><tr><td>专业td><td><input type="text"name="zy"id="zy">td>tr><tr><td>年龄td><td><input type="text"name="age"id="age">td>tr><tr><td>电话td><td><input type="text"name="dh"id="dh">td>tr><tr><td>QQ td><td><input type="text"name="qq"id="qq">td>tr><tr><td>行别td><td><input type="radio"name="sex"value="男"checked="checked">男<input type="radio"name="sex"value="女">女td>。
java连接mysql增删改查测试通过
本文由我司收集整编,推荐下载,如有疑问,请与我司联系java 连接mysql 增删改查测试通过2014/08/06 0把数据库连接作为一种方法调用实现增删改查源码参考:import java.sql.*; public class JDBC_Test { // 创建静态全局变量static Connection conn; static Statement st; public static void main(String[] args) { insert(); //插入添加记录// update(); //更新记录数据// delete(); //删除记录query(); //查询记录并显示} /* 插入数据记录,并输出插入的数据记录数*/ public staticvoid insert() { conn = getConnection(); // 首先要获取连接,即连接到数据库try { String sql = INSERT INTO user(id,name,sex) VALUES (21, dff2 , Mf ) // 插入数据的sql 语句st = (Statement) conn.createStatement(); // 创建用于执行静态sql 语句的Statement 对象int count = st.executeUpdate(sql); // 执行插入操作的sql 语句,并返回插入数据的个数System.out.println( 向test 表中插入+ count + 条数据//输出插入操作的处理结果conn.close(); //关闭数据库连接} catch (SQLException e) { System.out.println( 插入数据失败+ e.getMessage()); } } /* 更新符合要求的记录,并返回更新的记录数目*/ public static void update() { conn = getConnection();//同样先要获取连接,即连接到数据库try { String sql = update user set id=32 where name = 565 // 更新数据的sql 语句st = (Statement) conn.createStatement(); // 创建用于执行静态sql 语句的Statement 对象,st 属局部变量int count = st.executeUpdate(sql);// 执行更新操作的sql 语句,返回更新数据的个数System.out.println( staff 表中更新+ count + 条数据//输出更新操作的处理结果conn.close(); //关闭数据库连接} catch (SQLException e) { System.out.println( 更新数据失败} } /* 查询数据库,输出符合要求的记录的情况*/ public staticvoid query() { conn = getConnection(); //同样先要获取连接,即连接到数据库try { String sql = select * from user // 查询数据的sql 语句st = (Statement) conn.createStatement(); //创建用于执行静态sql 语句的Statement 对象,st 属局部变量。
java学习笔记——使用JDBC,对数据库进行增删改查(方案一)
java学习笔记——使用JDBC,对数据库进行增删改查(方案一)java学习笔记——使用JDBC,对数据库进行增删改查(方案一)工具类BaseDao.java[java] view plaincopy1.package com.accp.jdbc;2.3.import java.sql.Connection;4.import java.sql.DriverManager;5.import java.sql.PreparedStatement;6.import java.sql.ResultSet;7.import java.sql.SQLException;8.9.import org.apache.log4j.Logger;10.11.public class BaseDao {12.// 使用log4j记录日志13.private static Logger logger = Logger.getLogger(BaseDao.class);14.// 连接驱动15.private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";16.// 连接路径17.private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=test";18.// 用户名19.private static final String USERNAME = "sa";20.// 密码21.private static final String PASSWORD = "sssaaa";22.23.//静态代码块24.static {25.try {26.// 加载驱动27. Class.forName(DRIVER);28. } catch (ClassNotFoundException e) {29. e.printStackTrace();30. logger.error("加载驱动失败", e);31. }32. }33.34./*35. * 获取数据库连接36. */37.public Connection getConnection() {38. Connection conn = null;39. logger.debug("开始连接数据库");40.try{41.//与数据库建立连接42. conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);43. }catch(SQLException e){44. e.printStackTrace();45. logger.error("数据库连接失败!",e);46. }47. logger.debug("数据库连接成功");48.return conn;49. }50.51./*52. * 关闭数据库连接,注意关闭的顺序53. */54.public void close(ResultSet rs, PreparedStatement ps, Connection conn){55.//注意:最后打开的最先关闭56.if(rs!=null){57.try{58. rs.close();59. rs=null;60. }catch(SQLException e){61. e.printStackTrace();62. logger.error("关闭ResultSet失败",e);63. }64. }65.if(ps!=null){66.try{67. ps.close();68. ps=null;69. }catch(SQLException e){70. e.printStackTrace();71. logger.error("关闭PreparedStatement失败",e);72. }73. }74.if(conn!=null){75.try{76. conn.close();77. conn=null;78. }catch(SQLException e){79. e.printStackTrace();80. logger.error("关闭Connection失败",e);81. }82. }83. }84.85./*86. * 查询方法87. *88. * sql: 要执行的sql语句89. * handler:自定义接口90. * obj:可变参数列表91. */92.public T query(String sql,ResultSetHandler handler,Object... obj){93. Connection conn=getConnection(); //获得连接94. PreparedStatement ps=null;95. ResultSet rs=null;96.try{97.//创建PreparedStatement对象98. ps=conn.prepareStatement(sql);99.//为查询语句设置参数100. setParameter(ps, obj);101.//获得ResultSet结果集102. rs=ps.executeQuery();103.//返回对象104.return handler.callback(rs);105. }catch(SQLException e){106. e.printStackTrace();107. logger.error("数据库操作异常",e);108. }finally{109.//关闭连接110. close(rs,ps,conn);111. logger.debug("释放资源成功");112. }113.return null;114. }115.116./*117. * 增加、修改、删除,的方法118. *119. * obj: 可变参数列表120. */121.public int update(String sql,Object...obj ){ 122. Connection conn=getConnection(); //获得连接123. PreparedStatement ps=null;124.int rows=0;125.try{126.//创建PreparedStatement对象127. ps=conn.prepareStatement(sql);128.//为查询语句设置参数129. setParameter(ps, obj);130.//获得受影响的行数131. rows=ps.executeUpdate();132. }catch(SQLException e){133. e.printStackTrace();134. logger.error("数据库操作异常",e);135. }finally{136.//关闭连接137. close(null,ps,conn);138. logger.debug("释放资源成功");139. }140.return rows;141. }142.143./*144. * 为预编译对象设置参数145. */146.public void setParameter(PreparedStatement ps,Object... obj) 147.throws SQLException {148.if(obj!=null && obj.length>0){149.//循环设置参数150.for (int i = 0; i < obj.length; i++) {151. ps.setObject(i+1, obj[i]);152. }153. }154. }155.}156.157.//自定义接口158.interface ResultSetHandler{159.public T callback(ResultSet rs);160.}操作类,进行增删改查UserDao.java[java] view plaincopy1.package com.accp.jdbc;2.3.import java.sql.Connection;4.import java.sql.PreparedStatement;5.import java.sql.ResultSet;6.import java.sql.SQLException;7.import java.sql.Statement;8.import java.util.ArrayList;9.import java.util.List;10.11.import /doc/519718907.html,er;12.13.public class UserDao extends BaseDao {14.public static void main(String[] args) {15. UserDao user=new UserDao();16. List list=new ArrayList();17.//查询id<10的数据18. list=user.queryUser();19.//遍历结果集20.for(User u:list){21. System.out.println(u);22. }23.24.//查询单条数据25. System.out.println(user.queryUserById(10));26.27.//更新数据28. User u=new User();29. u.setId(2);30. u.setName("张龙");31. u.setAge(22);32. System.out.println("更新"+user.updateUser(u)+"条数据");33.34.//删除数据35. System.out.println("删除"+user.deleteUser(15)+"条数据");36.37.//插入数据38. User u1=new User();39. u1.setName("张三");40. u1.setAge(18);41. user.insertUser(u1);42. }43.44.//查询多条信息45.public List queryUser(){46. String sql="select * from users where id<10";47.//匿名实现自定义接口48. ResultSetHandler<list> handler=new ResultSetHandler<list</list</list>(){49.@Override50.public List callback(ResultSet rs) {51. List list=new ArrayList(); //用于存放结果的集合,User类型52. User user=null;53.try {54.while(rs.next()){55. user=new User(); //实例化一个User对象56. user.setId(rs.getInt("id"));57. user.setAge(rs.getInt("age"));58. user.setName(rs.getString("name"));59. list.add(user); //添加到list集合60. }61. } catch (SQLException e) {62. e.printStackTrace();63. }64.return list;65. }66. };67.return query(sql,handler);68. }69.70.//查询单条数据71.public User queryUserById(int id){72. String sql="select * from users where id=?";73.//匿名实现自定义接口74. ResultSetHandler handler=new ResultSetHandler() {75. User user=new User();76.@Override77.public User callback(ResultSet rs) {78.try {79.while(rs.next()){80. user.setAge(rs.getInt("age"));81. user.setId(rs.getInt("id"));82. user.setName(rs.getString("name"));83. }84. } catch (SQLException e) {85. e.printStackTrace();86. }87.return user;88. }89. };90.return query(sql,handler,id);91. }92.93.//更新数据94.public int updateUser(User user){95. String sql="update users set name=?,age=? where id=?";96.return update(sql, user.getName(),user.getAge(),user.getId());97. }98.99.//删除数据100.public int deleteUser(int id){101. String sql="delete from users where id=?";102.return update(sql,id);103. }104.105.//插入数据,并返回自动增长的的主键值106.public void insertUser(User user){107. Connection conn=getConnection(); //获得连接108. PreparedStatement ps=null;109. ResultSet rs=null;110. String sql="insert into users values(?,?)";111.try{112.// 创建能返回自动生成的主键的值的预编译对象113. ps=conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);114. ps.setString(1,user.getName());115. ps.setInt(2, user.getAge());116.int rows=ps.executeUpdate();117.// 获得自动增长的的主键值118. rs=ps.getGeneratedKeys();119. rs.next();120.//获得id121.int id=rs.getInt(1);122. System.out.println("成功添加:"+rows+"条数据,id是:"+id); 123. }catch(SQLException e){124. e.printStackTrace();125. }finally{126. close(rs,ps,conn);127. }128. }129.}插入测试数据InsertTest.java[java] view plaincopy1.package com.accp.jdbc;2.3.import java.sql.Connection;4.import java.sql.PreparedStatement;5.import java.sql.SQLException;6.7.public class InsertTest extends BaseDao {8.public static void main(String[] args) {9. InsertTest user=new InsertTest();10. user.insertUser();11. }12.13.public void insertUser() {14. String sql = "insert into users values(?,?)";15. Connection conn = getConnection();16. PreparedStatement ps = null;17.try {18.// 禁止自动提交事务19. conn.setAutoCommit(false);20.// 创建能返回自动生成的主键的值的预编译对象21. ps = conn.prepareStatement(sql);22.//开始时间的毫秒数23. Long start=System.currentTimeMillis();24.for (int i = 0; i < 10000; i++) {25. ps.setString(1, i+"");26. ps.setInt(2, 22);27. ps.addBatch();// 添加到批处理命令中28. }29. ps.executeBatch();// 执行批处理30. /doc/519718907.html,mit();// 提交事务31.//结束时间的毫秒数32. Long stop=System.currentTimeMillis();33.//得到总耗时34. Long ms=stop-start;35. System.out.println("插入一万记录耗时:"+ms+"毫秒");36. } catch (SQLException e) {37. e.printStackTrace();38.//取消事务39.try{40. conn.rollback();41. }catch(SQLException ee){42. ee.printStackTrace();43. }44. } finally {45.//打开自动提交事务46.try {47. conn.setAutoCommit(true);48. } catch (SQLException e) {49. e.printStackTrace();50. }51. close(null, ps, conn);52. }53. }54.55.}。
jdbc增删改查实验报告
jdbc增删改查实验报告一、实验目的本次实验旨在通过使用Java Database Connectivity (JDBC)技术,掌握数据库的增删改查操作。
二、实验环境本次实验使用的开发工具为Eclipse,数据库管理系统为MySQL。
三、实验过程1. 数据库连接在Java中使用JDBC连接到数据库需要以下步骤:1)加载数据库驱动程序;2)获取数据库连接;3)创建Statement对象或PreparedStatement对象。
示例代码如下:Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection(url, username, password);Statement stmt = conn.createStatement();其中url是指要连接的数据库地址,username和password是登录数据库所需的用户名和密码。
2. 数据库查询操作查询操作可以使用Statement对象或PreparedStatement对象执行SQL语句。
PreparedStatement对象比Statement对象更安全,因为它可以防止SQL注入攻击。
示例代码如下:PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE age > ?");pstmt.setInt(1, 18);ResultSet rs = pstmt.executeQuery();其中?表示占位符,可以通过setInt()等方法设置占位符的值。
3. 数据库插入操作插入操作需要使用PreparedStatement对象执行INSERT语句。
示例代码如下:PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users(name, age) VALUES(?, ?)");pstmt.setString(1, "Tom");pstmt.setInt(2, 20);int rowsAffected = pstmt.executeUpdate();其中executeUpdate()方法返回受影响的行数。
Java基于jdbc实现的增删改查操作示例
Java基于jdbc实现的增删改查操作⽰例本⽂实例讲述了Java基于jdbc实现的增删改查操作。
分享给⼤家供⼤家参考,具体如下:增删改操作:package java_web;import java.sql.DriverManager;import java.sql.SQLException;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;/*** jdbc CURD* @author Administrator**/public class rbacDemo {public final static String URL="jdbc:mysql://localhost:3306/test";public final static String USERNAME="root";public final static String PASSWORD="";public final static String DRIVER="com.mysql.jdbc.Driver";/*** 插⼊*/public static void insert(){try {Class.forName(DRIVER);Connection conn = (Connection) DriverManager.getConnection(URL,USERNAME,PASSWORD);String sql = "insert into test(name,sex)values('fifi2',1),('fifi3',3)";Statement state = (Statement) conn.createStatement();int result=state.executeUpdate(sql);state.close();conn.close();System.out.println(result+"success");} catch (ClassNotFoundException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();} catch (SQLException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();}}public static void update(){try {Class.forName(DRIVER);Connection conn = (Connection) DriverManager.getConnection(URL,USERNAME,PASSWORD);String sql = "update test set name='fifi3aaa' where name='fifi3'";Statement state = (Statement) conn.createStatement();int result=state.executeUpdate(sql);state.close();conn.close();System.out.println(result+"success");} catch (ClassNotFoundException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();} catch (SQLException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();}}public static void delete(){try {Class.forName(DRIVER);Connection conn = (Connection) DriverManager.getConnection(URL,USERNAME,PASSWORD);String sql = "delete from test where name='fifi3aaa'";Statement state = (Statement) conn.createStatement();int result=state.executeUpdate(sql);state.close();conn.close();System.out.println(result+"success");} catch (ClassNotFoundException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();} catch (SQLException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();}}public static void main(String[] args){//insert();//update();delete();}}查询操作:package java_web;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;public class jdbcQueryDemo {public final static String URL="jdbc:mysql://localhost:3306/test";public final static String USERNAME="root";public final static String PASSWORD="";public final static String DRIVER="com.mysql.jdbc.Driver";public static void query(){try {Class.forName(DRIVER);Connection conn = (Connection) DriverManager.getConnection(URL,USERNAME,PASSWORD);String sql = "select id,name,sex from test where id=3";Statement state = (Statement) conn.createStatement();ResultSet rs=state.executeQuery(sql);while(rs.next()){//rs.getInt("id");int id=rs.getInt(1);String name=rs.getString(2);int sex=rs.getInt(3);//String time=rs.getString("vtime");System.out.println(id+"=="+name+"=="+sex+"==");}rs.close();state.close();conn.close();} catch (ClassNotFoundException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();} catch (SQLException e) {// TODO ⾃动⽣成的 catch 块e.printStackTrace();}}public static void main(String[] args) {// TODO ⾃动⽣成的⽅法存根query();}}更多关于java相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》和《》希望本⽂所述对⼤家java程序设计有所帮助。
详解通过JDBC进行简单的增删改查(以MySQL为例)
详解通过JDBC进⾏简单的增删改查(以MySQL为例)前⾔:什么是JDBCJava 数据库连接,(Java Database Connectivity,简称JDBC)是Java语⾔中⽤来规范客户端程序如何来访问数据库的应⽤程序接⼝,提供了诸如查询和更新数据库中数据的⽅法。
JDBC也是Sun Microsystems的商标。
它JDBC是⾯向关系型数据库的。
简单地说,就是⽤于执⾏SQL语句的⼀类Java API,通过JDBC使得我们可以直接使⽤Java编程来对关系数据库进⾏操作。
通过封装,可以使开发⼈员使⽤纯Java API完成SQL的执⾏。
⼀、准备⼯作(⼀):MySQL安装配置和基础学习使⽤JDBC操作数据库之前,⾸先你需要有⼀个数据库。
这⾥提供了3个链接供读者⾃学,如果曾有过SQL语⾔的使⽤经历(包括在学校中的课堂学习),前两个链接⾜以上⼿。
建议边看⼊门教程,边练习,在练习insert、update、select、delete等基本操作的同时,将后⾯要⽤的表建好。
下图是我接下来⽤于演⽰的数据库的表。
⼆、准备⼯作(⼆):下载数据库对应的jar包并导⼊使⽤JDBC需要在⼯程中导⼊对应的jar包。
数据库与JDBC包的对应关系可以参考各种数据库对应的jar包、驱动类名和URL格式。
在Eclipse下的导⼊⽅法:在⼯程的图标上右击,选择”Properties”,在”Java Bulid Path”中选择”Add External JARs…”,选择下载并解压后获得的jar包。
如果对MySQL进⾏操作,这时下⾯的import就不会报错了:import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;除此以外,还需要JDBC的包,直接import即可。
import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;三、JDBC基本操作为了简单起见,与数据库相关的操作、命令、参数都被硬编码了。
java操作mysql实现增删改查的方法
java操作mysql实现增删改查的⽅法本⽂实例讲述了java操作mysql实现增删改查的⽅法。
分享给⼤家供⼤家参考,具体如下:⾸先,需要把MySQL与Java连接的jar(mysql-connector-java-5.1.6-bin.jar)包导⼊⼯程.package ;import java.beans.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class helloworld {private Connection conn = null;PreparedStatement statement = null;// connect to MySQLvoid connSQL() {String url = "jdbc:mysql://localhost:3306/hello?characterEncoding=UTF-8";String username = "root";String password = "root"; // 加载驱动程序以连接数据库try {Class.forName("com.mysql.jdbc.Driver" );conn = DriverManager.getConnection( url,username, password );}//捕获加载驱动程序异常catch ( ClassNotFoundException cnfex ) {System.err.println("装载 JDBC/ODBC 驱动程序失败。
MySQL_(Java)使用JDBC向数据库中删除(delete)数据
MySQL_(Java)使⽤JDBC向数据库中删除(delete)数据 MySQL_(Java)使⽤JDBC向数据库发起查询请求 MySQL_(Java)使⽤JDBC向数据库中插⼊(insert)数据 MySQL_(Java)使⽤JDBC向数据库中删除(delete)数据 MySQL_(Java)使⽤JDBC向数据库中修改(update)数据 MySQL数据库中的数据,数据库名garysql,表名garytb,删除数据库id=2的数据import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBC01 {public static void main(String[] args) throws SQLException {delete(2);}public static void selectAll() throws SQLException {//注册驱动使⽤驱动连接数据库Connection con = null;Statement stmt = null;ResultSet rs = null;try {//数据库的连接con = JDBCUtils.getConnection();//数据库的增删改查stmt = con.createStatement();//返回⼀个结果集rs =stmt.executeQuery("select * from garytb");while(rs.next()) {//System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {JDBCUtils.close(rs, stmt, con);}}//校验⽤户public static boolean selectByUernamePassword(String username,String password) throws SQLException {Connection con=null;Statement stmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";con = DriverManager.getConnection(url,"root","123456");stmt =con.createStatement();String sql = "select * from garytb where username = '"+username+"' and password = '"+password+"'";//System.out.println(sql);rs = stmt.executeQuery(sql);if(rs.next()) {return true;return false;}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(con!=null)con.close();}return false;}public static boolean selectByUP2(String username,String password) throws SQLException{Connection con=null;Statement stmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";con = DriverManager.getConnection(url,"root","123456");String sql = "select * from garytb where username = ? and password = ?";PreparedStatement pstmt = con.prepareStatement(sql);//添加参数pstmt.setString(1, username);pstmt.setString(2, password);//进⾏查询rs = pstmt.executeQuery();if(rs.next()) {return true;}else {return false;}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(con!=null)con.close();}return false;}//pageNumber是页数,第⼏页,pageCount是每页显⽰多少个数据public static void selectUserByPage(int pageNumber,int pageCount) throws SQLException {//注册驱动使⽤驱动连接数据库Connection con = null;PreparedStatement stmt = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");//String url ="jdbc:mysql://localhost:3306/garysql";//指定编码查询数据库String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false"; String user = "root";String password = "123456";//建⽴和数据库的连接con = DriverManager.getConnection(url,user,password);stmt = con.prepareStatement("select * from garytb limit ?,?");stmt.setInt(1, (pageNumber-1)*pageCount );stmt.setInt(2, pageCount);rs = stmt.executeQuery();while(rs.next()) {//System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(con!=null)con.close();}}//crud: create read updata delete//插⼊语句public static void insert(String username,String password) throws SQLException { //注册驱动使⽤驱动连接数据库Connection con = null;PreparedStatement stmt = null;ResultSet rs = null;try {con = JDBCUtils.getConnection();String sql = "insert into garytb(username,password) values(?,?)";stmt = con.prepareStatement(sql);stmt.setString(1, username);stmt.setString(2, password);int result =stmt.executeUpdate();// 返回值代表收到影响的⾏数System.out.println("插⼊成功"+username);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {JDBCUtils.close(rs, stmt, con);}}public static void delete(int id) throws SQLException {//注册驱动使⽤驱动连接数据库Connection con = null;PreparedStatement stmt = null;ResultSet rs = null;try {con = JDBCUtils.getConnection();String sql = "delete from garytb where id = ?";stmt = con.prepareStatement(sql);stmt.setInt(1, id);int result =stmt.executeUpdate();// 返回值代表收到影响的⾏数if(result>0) {System.out.println("删除成功");}else {System.out.println("删除失败");}} catch (Exception e) {e.printStackTrace();} finally {JDBCUtils.close(rs, stmt, con);}}}JDBC01.java 根据id删除数据库中的数据表public static void delete(int id) throws SQLException {//注册驱动使⽤驱动连接数据库Connection con = null;PreparedStatement stmt = null;ResultSet rs = null;try {con = JDBCUtils.getConnection();String sql = "delete from garytb where id = ?";stmt = con.prepareStatement(sql);stmt.setInt(1, id);int result =stmt.executeUpdate();// 返回值代表收到影响的⾏数if(result>0) {System.out.println("删除成功");System.out.println("删除失败"); }} catch (Exception e) {e.printStackTrace();} finally {JDBCUtils.close(rs, stmt, con); }}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;对象。
参数格式:("jdbc:mysql://ip:端口/数据库名称", 用户名,密码)写入一条数据import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Mysql {/*** 入口函数* @param arg*/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"); //链接本地MYSQLStatement stmt; //创建声明stmt = con.createStatement();//新增一条数据stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");ResultSet res = stmt.executeQuery("selectLAST_INSERT_ID()");int ret_id;if (res.next()) {ret_id = res.getInt(1);System.out.print(ret_id);}} catch (Exception e) {System.out.print("MYSQL ERROR:" + e.getMessage());}}}</pre>stmt.executeUpdate INSERT; DELETE; UPDATE;语句都用executeUpdate函数来操作stmt.executeQuery SELECT;语句都用stmt.executeQuery函数来操作 ResultSet res =stmt.executeQuery;("select LAST;_INSERT_ID()"); 查询最后插入数据的ID号,返回ResultSet res;对象删除和更新数据import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Mysql {/*** 入口函数* @param arg*/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"); //链接本地MYSQLStatement stmt; //创建声明stmt = con.createStatement();//新增一条数据stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");ResultSet res = stmt.executeQuery("selectLAST_INSERT_ID()");int ret_id;if (res.next()) {ret_id = res.getInt(1);System.out.print(ret_id);}//删除一条数据String sql = "DELETE FROM user WHERE id = 1";long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数System.out.print("DELETE:" + deleteRes);//更新一条数据String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";long updateRes = stmt.executeUpdate(updateSql);System.out.print("UPDATE:" + updateRes);} catch (Exception e) {System.out.print("MYSQL ERROR:" + e.getMessage());}}}</pre>删除和更新数据都使用stmt.executeUpdate函数。
删除和更新数据都会返回一个Long的结果,如果为0,则删除或者更新失败,如果大于0则是操作删除的记录数查询语句import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.Statement;public class Mysql {/*** 入口函数* @param arg*/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"); //链接本地MYSQLStatement stmt; //创建声明stmt = con.createStatement();//新增一条数据stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");ResultSet res = stmt.executeQuery("selectLAST_INSERT_ID()");int ret_id;if (res.next()) {ret_id = res.getInt(1);System.out.print(ret_id);}//删除一条数据String sql = "DELETE FROM user WHERE id = 1";long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数System.out.print("DELETE:" + deleteRes);//更新一条数据String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";long updateRes = stmt.executeUpdate(updateSql);System.out.print("UPDATE:" + updateRes);//查询数据并输出String selectSql = "SELECT * FROM user";ResultSet selectRes = stmt.executeQuery(selectSql);while (selectRes.next()) { //循环输出结果集String username = selectRes.getString("username");String password = selectRes.getString("password"); System.out.print("\r\n\r\n");System.out.print("username:"+ username + "password:" + password);}} catch (Exception e) {System.out.print("MYSQL ERROR:" + e.getMessage());}}}</pre>查询语句使用stmt.executeQuery函数• rs.absolute() //绝对位置,负数表示从后面数• rs.first()第一条• st()最后一条• rs.previoust()前一条• rs.next()后一条• rs.beforeFirst()第一条之前• rs.afterLast()最后之后• rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast。