【IT专家】mysql数据库的连接以及增删改查Java代码实现(PreparedStatement版)

合集下载

通过Java代码实现对数据库的数据进行操作:增删改查(JDBC)

通过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使用原生MySQL实现数据的增删改查以及数据库连接池技术

java使用原生MySQL实现数据的增删改查以及数据库连接池技术

java使⽤原⽣MySQL实现数据的增删改查以及数据库连接池技术⼀、⼯具类及配置⽂件准备⼯作1.1 引⼊jar包使⽤原⽣MySQL,只需要⽤到MySQL连接的jar包,maven引⽤⽅式如下:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version></dependency>1.2 jdbc.properties⽂件配置在resources⽂件夹根⽬录,新增jdbc.properties配置⽂件,内容如下:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mydbuser=rootpassword=1234561.3 JDBCUtils⼯具类在java⽂件夹中新增 util --> JDBCUtils.java 类,该类中获取jdbc.properties中的值。

JDBCUtils⼯具类主要作⽤是简化获取MySQL配置⽂件、关闭资源。

private static String url;private static String user;private static String password;static {Properties properties = new Properties();try {properties.load(Mytest.class.getClassLoader().getResourceAsStream("jdbc.properties"));url = properties.getProperty("url");user = properties.getProperty("user");password = properties.getProperty("password");Class.forName(properties.getProperty("driver"));} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}// 1.获取jdbc.properties配置⽂件中的数据库连接public static Connection getConnection() throws SQLException {return DriverManager.getConnection(url, user, password);}// 5.定义关闭资源的⽅法public static void close(Connection conn, Statement stmt, ResultSet rs) {if (rs != null) {try {rs.close();} catch (SQLException e) {}}if (stmt != null) {try {stmt.close();} catch (SQLException e) {}}if (conn != null) {try {conn.close();} catch (SQLException e) {}}}public static void close(Connection conn, Statement stmt) {close(conn, stmt, null);}⼆、原⽣MySQL实现增删改查2.1 语法说明1、通过Connection获取数据库连接对象;2、定义sql语句(⼀般可以在Navicat中直接执⾏);3、通过获取执⾏sql的对象 --PreparedStatement;4、执⾏sql语句:增删改使⽤conn的executeUpdate⽅法(成功返回值为int=1),查询使⽤executeQuery⽅法(返回值为ResultSet,建议使⽤下⽂的查询⽅法操作);5、释放资源(执⾏SQL时定义的stmt、获取连接时的conn)。

Java使用JDBC连接MYSQL数据库增删改查示例

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对MySQL数据库进行连接、查询和修改

Java对MySQL数据库进行连接、查询和修改

Java对MySQL数据库进⾏连接、查询和修改0. ⼀般过程: (1) 调⽤Class.forName()⽅法加载驱动程序。

(2) 调⽤DriverManager对象的getConnection()⽅法,获得⼀个Connection对象。

(3) 创建⼀个Statement对象,准备⼀个SQL语句,这个SQL语句可以是Statement对象(⽴即执⾏的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调⽤的语句)。

(4) 调⽤excuteQuery()等⽅法执⾏SQL语句,并将结果保存在ResultSet对象;或者调⽤executeUpdate()等⽅法执⾏SQL语句,不返回ResultSet对象的结果。

(5)对返回的ResultSet对象进⾏显⽰等相当的处理。

(6)释放资源。

1. 连接数据库 (1) 下载Mysql连接驱动 (2) 加载JDBC驱动操作⽅法:在Eclipse中,选中相应的⼯程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。

(3) 建⼀个简单的数据库如下:import java.sql.*;public class GetConnection {public static void main(String[] args){try{//调⽤Class.forName()⽅法加载驱动程序Class.forName("com.mysql.jdbc.Driver");System.out.println("成功加载MySQL驱动!");}catch(ClassNotFoundException e1){System.out.println("找不到MySQL驱动!");e1.printStackTrace();}String url="jdbc:mysql://localhost:3306/mysql"; //JDBC的URL//调⽤DriverManager对象的getConnection()⽅法,获得⼀个Connection对象Connection conn;try {conn = DriverManager.getConnection(url, "root","");//创建⼀个Statement对象Statement stmt = conn.createStatement(); //创建Statement对象System.out.print("成功连接到数据库!");stmt.close();conn.close();} catch (SQLException e){e.printStackTrace();}}}2. 查询数据表 在询数据表时,需要⽤到ResultSet接⼝,它类似于⼀个数据表,通过该接⼝的实例可以获得检索结果集,以及对应数据表的接⼝信息。

java操作mysql增删改查

java操作mysql增删改查
private String dbUrl = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";// 根据实际情况变化
// 账号,这里改成你自己的帐号
private String dbUser = "root";
// 密码,这里改成你自己的密码
Connection con = getConn();// 此处为通过自己写的方法getConn()获得连接
Statement stmt = null;
ResultSet rs = null;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
try {
Class.forName(dbDriver).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPass);// 注意是三个参数
} catch (ClassNotFoundException ce) {
实体类:
package com.test.sql;
import java.sql.Connection;
import java.sql.DrivedStatement;
import java.sql.ResultSet;
preStmt.setString(5, "李四");
i = preStmt.executeUpdate();
} catch (SQLException e) {

preparedstatement方法的增删改查

preparedstatement方法的增删改查

`PreparedStatement` 是 Java 中用于执行 SQL 语句的一个接口,它提供了执行参数化 SQL 语句的方法。

下面是一些基本的`PreparedStatement` 的增删改查方法:1. 查询(Select)```javaString query = "SELECT * FROM users WHERE id = ?";PreparedStatement pstmt = connection.prepareStatement(query);pstmt.setInt(1, 1); // 设置参数ResultSet rs = pstmt.executeQuery();while (rs.next()) {// 处理结果集}```2. 插入(Insert)```javaString insertQuery = "INSERT INTO users(name, age) VALUES (?, ?)";PreparedStatement pstmt = connection.prepareStatement(insertQuery);pstmt.setString(1, "John");pstmt.setInt(2, 30);pstmt.executeUpdate(); // 返回影响的行数```3. 更新(Update)```javaString updateQuery = "UPDATE users SET age = ? WHERE id = ?";PreparedStatement pstmt = connection.prepareStatement(updateQuery);pstmt.setInt(1, 31); // 设置新年龄pstmt.setInt(2, 1); // 设置条件idpstmt.executeUpdate(); // 返回影响的行数```4. 删除(Delete)```javaString deleteQuery = "DELETE FROM users WHERE id = ?"; PreparedStatement pstmt = connection.prepareStatement(deleteQuery);pstmt.setInt(1, 1); // 设置条件idpstmt.executeUpdate(); // 返回影响的行数```注意:执行SQL 语句之后,务必记得关闭`PreparedStatement` 和 `ResultSet` 对象以释放资源。

Java连接MySql数据库,并且实现增删改查功能(精)

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值,表示删除成功或者失败。

javaide、连接mysql数据库的代码

javaide、连接mysql数据库的代码

javaide、连接mysql数据库的代码在使用Java编写应用程序时,经常需要连接MySQL数据库进行数据存储和处理。

下面是JavaIDE中连接MySQL数据库的代码示例。

1. 导入MySQL JDBC驱动程序:使用Java连接MySQL数据库需要首先导入MySQL JDBC驱动程序。

可以从MySQL官网下载最新版本的驱动程序,或者使用Maven等构建工具自动导入。

2. 建立数据库连接:在Java中,通过使用JDBC API可以建立与MySQL数据库的连接。

在建立连接前,需要提供数据库的URL、用户名和密码等信息。

3. 执行SQL语句:通过JDBC API可以向MySQL数据库发送SQL语句,并获取执行结果。

可以使用Statement或PreparedStatement等接口来执行SQL 语句。

下面是一个完整的JavaIDE连接MySQL数据库的代码示例:import java.sql.*;public class MySQLConnectionExample {public static void main(String[] args) {String url = 'jdbc:mysql://localhost:3306/mydatabase'; String username = 'myuser';String password = 'mypassword';Connection conn = null;try {// 加载MySQL驱动程序Class.forName('com.mysql.jdbc.Driver');// 建立数据库连接conn = DriverManager.getConnection(url, username, password);// 执行SQL语句Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery('SELECT * FROM mytable'); while (rs.next()) {int id = rs.getInt('id');String name = rs.getString('name');System.out.println('id=' + id + ', name=' + name);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {try {if (conn != null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}}在实际应用中,需要根据具体情况进行修改和优化。

数据库记录查询删除与修改的核心算法Java代码

数据库记录查询删除与修改的核心算法Java代码

数据库记录查询删除与修改的核心算法Java代码下面是一个示例的数据库记录查询、删除和修改的核心算法的Java 代码:```javaimport java.sql.*;public class DatabaseOperationsprivate Connection conn;private Statement stmt;//连接数据库public void connect( throws SQLExceptionString url = "jdbc:mysql://localhost:3306/mydb";String user = "root";String password = "password";conn = DriverManager.getConnection(url, user, password);}//查询记录public void queryRecords(String tableName) throws SQLExceptionstmt = conn.createStatement(;String sql = "SELECT * FROM " + tableName;ResultSet result = stmt.executeQuery(sql);//遍历结果集并输出记录while (result.next()int id = result.getInt("id");String name = result.getString("name");int age = result.getInt("age");System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);}stmt.close(;}//删除记录public void deleteRecord(int id) throws SQLExceptionstmt = conn.createStatement(;String sql = "DELETE FROM records WHERE id = " + id;stmt.executeUpdate(sql);System.out.println("Record deleted successfully.");stmt.close(;}//修改记录public void updateRecord(int id, String name, int age) throws SQLExceptionstmt = conn.createStatement(;String sql = "UPDATE records SET name = '" + name + "', age = " + age + " WHERE id = " + id;stmt.executeUpdate(sql);System.out.println("Record updated successfully.");stmt.close(;}//关闭数据库连接public void closeConnection( throws SQLExceptionconn.close(;}public static void main(String[] args)tryDatabaseOperations db = new DatabaseOperations(;db.connect(;//查询记录System.out.println("Querying records:");db.queryRecords("records");//删除记录int recordIdToDelete = 1;System.out.println("Deleting record with ID " + recordIdToDelete + ":");db.deleteRecord(recordIdToDelete);db.queryRecords("records");//修改记录int recordIdToUpdate = 2;String updatedName = "John";int updatedAge = 30;System.out.println("Updating record with ID " + recordIdToUpdate + ":");db.updateRecord(recordIdToUpdate, updatedName, updatedAge);db.queryRecords("records");db.closeConnection(;} catch (SQLException e)e.printStackTrace(;}}```上面的代码包含了一个`DatabaseOperations`类,该类封装了与数据库的连接和操作。

java操作mysql实现增删改查的方法

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 驱动程序失败。

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通⽤⽅法版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。

Java连接MySQL数据库增删改查通⽤⽅法 运⾏环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是⼀个数据库写⼀个类,类下⾯写好多⽅法,要是多个数据库,就要写多个类多个⽅法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的⽅法进⾏了⼀系列的封装,使⽤户传⼊⼀个对象值Object就可以得到想要的。

我在之前写过⼀篇普通的Java连接MySQL数据库,⼤家可以看看,以便对⽐参考之后就知道差距了 接下来我给⼤家讲讲如何将这个不可复⽤,⼜多重复的连接代码,封装起来,⾮常好⽤基本思想:我们连接数据库的时候,写的⽅法都是要⼀个个类的去写,其中的⽅法不计其数,连接数据库都是需要:1. Class.forName():加载驱动 ——》com.mysql.jdbc.Driver2. DriverManager.getConnection():驱动管理,连接到数据库三个属性1.数据库地址 2.数据库⽤户名3.密码3. createStatement():创建Statement对象4. ResultSet:执⾏sql语句获得结果集,再遍历那么我们为了能通⽤,那么其中的:数据库名,sql语句,遍历结果集要得到的结果,都是要根据不同数据库根据传⼊参数不同⽽变化的⾸先每个项⽬开始前都要将数据库实体化,每个表都是⼀个实体类,表名是类名,字段为其属性,再⽤set和get⽅法这些属性再根据反射机制,对象是我们表的实例化对象,根据我传⼊⽅法的这个参数对象,获取其中的⽅法,属性,属性值,类型等⼀系列的东西,来实现⽅法的封装通⽤代码演⽰先演⽰⼀个查询:通过传⼊这个表的实体类,通过⼀系列的放射机制,对⽐拼装成⼀个查询⽅法public static List<Object> query(Class<?> obj) {Statement st=null;List<Object> list=new ArrayList<>();//数据库MySQL的地址String DBURL="jdbc:mysql://localhost:3306/lms_leave?useUnicode=true&characterEncoding=utf-8";String DBName="root"; //登⼊⽤户名String DBPwd="123456";//登⼊密码//加载驱动try {Class.forName("com.mysql.jdbc.Driver");//连接数据库Connection conn=DriverManager.getConnection(DBURL,DBName,DBPwd);//创建Statement对象st=conn.createStatement();ResultSet rs=st.executeQuery("select * from "+obj.getSimpleName());//获取传⼊类中的⽅法Method[] methods=obj.getMethods();//设置⼀个⽅法的list集合,下⾯将⽅法放⼊其中,以便调⽤List<Method> list_m= new ArrayList<>();//类中有许多⽅法,过滤⼀些⽅法,获取⾃⼰想要的⽅法for(int i=0;i<methods.length;i++){ //过滤⽅法//判断⽅法名字中是否有set这个提取if (methods[i].getName().contains("set")) {//将⽅法添加到list中list_m.add(methods[i]);}}//创建字符串string集合,获取下⾯的字段名存⼊List<String> fieldname=new ArrayList<>();//获取类中的属性,其属性对应数据库中的字段Field[] f=obj.getDeclaredFields();//循环将字段中的名字⾸个变⼤写for (int i = 0; i < f.length; i++) {//获取名字String field=f[i].getName();//变⼤⼩写,存⼊fieldname集合fieldname.add(upperCase(field));}//获取得到结果集(rs)的结构,⽐如字段数、字段名等。

java连接mysql以及增删改查操作

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 }原创不易,尊重版权。

javaWeb-连接mysql数据库增删改查(精)

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数据库——含详细步骤和代码

Java连接MySQL数据库——含详细步骤和代码⼯具:eclipse、MySQL、MySQL连接驱动:mysql-connector-java-5.1.45.jar⾸先要下载Connector/J地址:这是MySQL官⽅提供的连接⽅式(即MySQL连接驱动),解压后得到jar库⽂件,需要在⼯程中导⼊该库⽂件。

这是解压后的⽂件:1、新建java项⽬然后新建⼀个⽂件夹——libs(⽤来放各种外部包)右键⼯程名(我的是sqldemo1)—新建New—⽂件夹Folder—Folder name为libs—Finish。

2、在包⾥⾯加⼊连接mysql数据库的包即刚才解压后得到的 mysql-connector-java-5.1.45-bin.jar然后复制粘贴到我们java项⽬的libs⽂件夹下⾯(注意是物理地址⾥);此时,在eclipse中—右击libs⽂件夹—刷新Refresh,就将下载好的JDBC放到该⽂件夹下,如下图所⽰:3、构建路径上的jar包在eclipse中a:点击项⽬Project——选择属性Propetiesb:进⾏添加打开属性Propeties后,点击java构建路径(Java Build Path)点击添加jar(Add JARs...),选择你的项⽬下的jar包,然后确定,最后添加完成4、在java项⽬中进⾏mysql数据库的连接在java项⽬包中新建两个Class类⽂件,我命名为DBHelper和Demo⼀个类⽤来打开或关闭数据库:DBHelper.java代码如下:package sqldemo1;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class DBHelper {public static final String url = "jdbc:mysql://127.0.0.1/student";public static final String name = "com.mysql.jdbc.Driver";public static final String user = "root";public static final String password = "";public Connection conn = null;public PreparedStatement pst = null;public DBHelper(String sql) {try {Class.forName(name);//指定连接类型conn = DriverManager.getConnection(url,user,password);//获取连接 pst = conn.prepareStatement(sql);//准备执⾏语句} catch (Exception e) {e.printStackTrace();}}public void close() {try {this.conn.close();this.pst.close();} catch (SQLException e) {e.printStackTrace();}}}再写⼀个Demo.java来执⾏相关查询操作代码如下:package sqldemo1;import java.sql.ResultSet;import java.sql.SQLException;public class Demo {static String sql = null;static DBHelper db1 = null;static ResultSet ret = null;public static void main(String[] args) {sql = "select *from stuinfo";//SQL语句db1 = new DBHelper(sql);//创建DBHelper对象try {ret = db1.pst.executeQuery();//执⾏语句,得到结果集while (ret.next()) {String uid = ret.getString(1);String ufname = ret.getString(2);String ulname = ret.getString(3);String udate = ret.getString(4);System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate ); }//显⽰数据ret.close();db1.close();//关闭连接} catch (SQLException e) {e.printStackTrace();}}}查询结果如下5、连接mysql数据库失败原因分析:1、数据库的服务是否打开2、是否在新建了对应的数据库3、是否添加了jar包4、是否加载了驱动5、连接字符串、登录名以及密码是否有误如果连接失败,看这⼏个因素是否发⽣。

java连接mysql增删改查测试通过

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连接数据库,实现增删改查

用java连接数据库,实现增删改查

package dao.impl;import java.sql.*;import java.util.*;import dao.BaseDao;import dao.StuDao;import entity.Student;public class StuDaoImpl extends BaseDao implements StuDao {public int addStu(Student s) {// TODO Auto-generated method stubint a=0;PreparedStatement ps=null;Connection cn=this.getConn();String sql="insert into app.student(sno,sname,age,sex,sdept) values(?,?,?,?,?)";try {ps=cn.prepareStatement(sql);ps.setString(1,s.getSno());ps.setString(2,s.getSname());ps.setInt(3,s.getAge());ps.setString(4,s.getSex());ps.setString(5,s.getSdept());a=ps.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public int delStu(String sn) {int a=0;PreparedStatement ps=null;Connection cn=this.getConn();String sql="delete from app.student where sno=?";try {ps=cn.prepareStatement(sql);ps.setString(1,sn);a=ps.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public int updateStu(Student oldS,Student newS){int a=0;PreparedStatement ps=null;Connection cn=this.getConn();String sql="update app.student set sname=?,age=?,sex=?,sdept=? where sno=?";try {ps=cn.prepareStatement(sql);ps.setString(1,newS.getSname());ps.setInt(2,newS.getAge());ps.setString(3,newS.getSex());ps.setString(4,newS.getSdept());ps.setString(5,oldS.getSno());a=ps.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return a;}public List getAllStu() {// TODO Auto-generated method stubList list=new ArrayList();PreparedStatement ps=null;ResultSet rs=null;Student s=null;Connection cn=this.getConn();// String sql="select sno,sname,age,sex,sdept from app.student";String sql="select sno,sname,age,sex,sdept from app.student";// String sql="select sno,sname,age,sex,sdept from app.student where sex='女'";// String sql="select sno,sname,age,sex,sdept from app.student where sex='男'";try {ps=cn.prepareStatement(sql);rs=ps.executeQuery() ;while(rs.next()){String sno=rs.getString("sno");String sname=rs.getString("sname");int age=rs.getInt("age");String sex=rs.getString("sex");String sdept=rs.getString("sdept");s=new Student(sno,sname,age,sex,sdept);list.add(s);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}public Student searchStu(String sn) {// TODO Auto-generated method stubPreparedStatement ps=null;ResultSet rs=null;Student s=null;Connection cn=this.getConn();String sql="select sno,sname,age,sex,sdept from app.student where sno=?";try {ps=cn.prepareStatement(sql);ps.setString(1,sn);rs=ps.executeQuery() ;while(rs.next()){String sno=rs.getString("sno");String sname=rs.getString("sname");int age=rs.getInt("age");String sex=rs.getString("sex");String sdept=rs.getString("sdept");s=new Student(sno,sname,age,sex,sdept);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return s;}public static void main(String[] s){StuDao sd=new StuDaoImpl();/////////////////////////插入一个学生记录/////////Scanner in=new Scanner(System.in);System.out.println("请依次输入学生的学号,姓名,年龄,性别,所在系");String sno=in.next();String sname=in.next();int age=in.nextInt();String sex=in.next();String sdept=in.next();Student sss=new Student(sno,sname,age,sex,sdept);if(sd.searchStu(sno)!=null)System.out.println("学号重复");else{if (sd.addStu(sss) > 0)System.out.println("成功插入");elseSystem.out.println("error");}// /////////////删除一个学生///////////////////// if(sd.delStu("www")>0)// System.out.println("suee");// else// System.out.println("eee");/////////////////更新一个学生/////////////////// Student oldStu=sd.searchStu("s2");// if(oldStu!=null)// {// String sname="大炮";// String sex="男";// int age=21;// String sdept="轨道";// Student newS=new Student(oldStu.getSno(),sname,21,sex,sdept);// sd.updateStu(oldStu, newS);// }// else// System.out.println("没有这个学生");////////////////显示所有学生////////////////////List l=sd.getAllStu();for(int i=0;i<l.size();i++){Student s1=(Student) l.get(i);System.out.println(s1.getSno()+s1.getSname()+s1.getSex()+s1.getAge()+s1.getSdept());}}}。

JavaWeb下MySQL数据库的增删改查(一)

JavaWeb下MySQL数据库的增删改查(一)

JavaWeb下MySQL数据库的增删改查(⼀)以图书管理系统举例(jsp+servlet+bean)1.数据库的连接package db;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 DBUtil {private static String url = "jdbc:mysql://localhost:3306/book system?&useSSL=false&serverTimezone=UTC";//要连接的库名private static String user = "******";//数据库⽤户名private static String password = "******";//数据库密码private static String jdbcName="com.mysql.cj.jdbc.Driver";private Connection con=null;public static Connection getConnection() {Connection con=null;try {Class.forName(jdbcName);con=DriverManager.getConnection(url, user, password);//System.out.println("数据库连接成功");} catch (Exception e) {// TODO Auto-generated catch block//System.out.println("数据库连接失败");e.printStackTrace();}try {con = DriverManager.getConnection(url,user,password);System.out.println("连接成功");} catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}return con;}public static void main(String[] args)throws SQLException { //测试数据表的连接Connection conn = getConnection();PreparedStatement pstmt = null;ResultSet rs = null;String sql ="select * from reader_information";pstmt = conn.prepareStatement(sql);rs = pstmt.executeQuery();System.out.println(getConnection());while(rs.next()){System.out.println("成功");}}// return con;public static void close(Connection con) {if(con!=null)try {con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void close(Statement state, Connection conn) {if(state!=null) {try {state.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}public static void close(ResultSet rs, Statement state, Connection conn) { if(rs!=null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(state!=null) {try {state.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}2.实体层package bean;public class Bean_book {private int id;private String name;private String writer;private String press;private int num;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 getWriter() {return writer;}public void setWriter(String writer) {this.writer = writer;}public String getPress() {return press;}public void setPress(String press) {this.press = press;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public Bean_book(int id, String name, String writer, String press,int num) { this.id = id; = name;this.writer = writer;this.press = press;this.num = num;}public String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", writer='" + writer + '\'' +", press='" + press + '\'' +", num=" + num +'}';}}package bean;import java.util.Date;public class Bean_borrowing {private int id;private String name;private String writer;private String press;private Date time;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 getWriter() {return writer;}public void setWriter(String writer) {this.writer = writer;}public String getPress() {return press;}public void setPress(String press) {this.press = press;}public Date getTime() {return time;}public void setTime(Date time) {this.time = time;}public Bean_borrowing(int id, String name, String writer, String press,Date time) { this.id = id; = name;this.writer = writer;this.press = press;this.time = time;}public String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", writer='" + writer + '\'' +", press='" + press + '\'' +", time=" + time +'}';}}package bean;public class Bean_reader {private int uid;private String name;private String sex;private String college;private String password;public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public String getName() {return name;}public void setName(String name) { = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getCollege() {return college;}public void setCollege(String college) {this.college = college;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Bean_reader(int uid, String name, String sex, String college,String password) {this.uid = uid; = name;this.sex = sex;this.college = college;this.password = password;}public Bean_reader(int uid,String password) {this.uid = uid;this.password = password;}public String toString() {return "Reader{" +"uid=" + uid +", name='" + name + '\'' +", sex='" + sex + '\'' +", college='" + college + '\'' +", password=" + password +'}';}}3.Dao层数据访问,实现对数据的增、删、改、查package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import bean.Bean_reader;import bean.Bean_book;import bean.Bean_borrowing;import db.DBUtil;public class Dao {//dao层private DBUtil dbutil=new DBUtil();public Dao() {// TODO Auto-generated constructor stub}public boolean insert_reader(Bean_reader bean) {//插⼊读者数据的⽅法boolean f=false;String sql="insert into reader_information(uid,name,sex,college,password) values('"+bean.getUid()+"','"+bean.getName()+"','"+bean.getSex()+"','"+be an.getCollege()+"'+'"+bean.getPassword()+"')";Connection conn=DBUtil.getConnection();//数据库连接,加载驱动Statement state=null;try{state=conn.createStatement();//实例化Statement对象,⽅便对sql语句进⾏操作System.out.println(conn);state.executeUpdate(sql);f=true;//执⾏数据库更新操作⽤于执⾏INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语⾔)语句,//例如CREATETABLE和DROPTABLE,(创建表和删除表)}catch(Exception e)//当try语句中s出现异常时,会执⾏catch中的语句{e.printStackTrace();//捕获异常的语句}finally//finally作为异常处理的⼀部分,它只能⽤在try/catch语句中,并且附带⼀个语句块,表⽰这段语句最终⼀定会被执⾏(不管有没有抛出异常),经常被⽤在需要释放资源的情况下。

java数据库(MySQL)之增删改查

java数据库(MySQL)之增删改查

java数据库(MySQL)之增删改查1.查询数据先救从简单的来吧,之前我们实现了将数据库表格信息读取到⼀个List集合中,数据库的查询,实际上就是对这个集合的查询;1public class Show {2public static void main(String[] args) {3//获取之前的数据集合4 List<User> list = erlist();5//foreach遍历这个集合6for (User user : list) {7//查询条件,查找user为tom的⽤户名和密码8if(er.equals("tom")) {9//这⾥要⽤equals()⽅法,不能⽤==,切记10 System.out.println("⽤户名:"+er+";密码:"+user.password);11 }12 }13 }14 }控制台打印如下:1⽤户名:tom;密码:243523563其实我们也可以将这个⽅法封装起来,并传⼊⼀个字符串参数,从⽽实现对⽤户信息的输出,在这⾥不做深究。

2.增加数据在实现这个功能之前我们要事先了解⼀下,SQL语句是如何实现数据的添加的;先来看⼀下表有哪些数据项我们可以看到,这个表中有4个属性,由于设置的时候,设置成了必填,所以,添加的时候也得全填SQL语句:INSERT INTO table1(id,user,password,age) VALUES ('5','cindy','35675467','23') ;1public class Insert {2// 利⽤含参构造器新建⼀个User对象,传⼊数据3static User newuser = new User(5, "cindy", "123452", 23);4// 定义含参⽅法将这个数据(对象)添加到表格中5public static void add(User newuser) {6try {7// 获取数据库的连接8 Connection conn = MySQL.getconnect();9// 设置SQL规则,数据由于还不知道先⽤?代替10 String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";11// 预处理sql语句12 PreparedStatement presta = conn.prepareStatement(sql);13// 设置sql语句中的values值14 presta.setInt(1, newuser.id);15 presta.setString(2, er);16 presta.setString(3, newuser.password);17 presta.setInt(4, newuser.age);18// 执⾏SQL语句,实现数据添加19 presta.execute();20 } catch (SQLException e) {21 e.printStackTrace();22 }23 }24public static void main(String[] args) {25// 执⾏add(newuser)⽅法26 add(newuser);27 }28 }我们看看结果:添加成功,Bingo!3.删除数据其实增删改查,实际上就是对sql语句的运⽤,这⾥的删除也不例外1public static void delete(Integer id) {2try {3// 获取数据库的连接4 Connection conn = MySQL.getconnect();5// 设置SQL规则,数据由于还不知道先⽤?代替6//String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";7//String sql = "Update table1 set user=?,password=?,age=? where id=?";8 String sql = "delete from table1 where id=?";9// 预处理sql语句10 PreparedStatement presta = conn.prepareStatement(sql);11// 设置sql语句中的values值12 presta.setInt(1,id);13// 执⾏SQL语句,实现数据添加14 presta.execute();15 } catch (SQLException e) {16 e.printStackTrace();17 }18 }19public static void main(String[] args) {20// 执⾏add(newuser)⽅法21 delete(2);22 }delete()⽅法传⼊了⼀个参数id,⽤于删除指定id的数据,如下:id为2的信息被删除了,beautiful!4.更新数据1public class Insert {2// 利⽤含参构造器新建⼀个User对象,传⼊数据3static User newuser = new User(5, "Cindy", "1234567890", 23);4// 定义含参⽅法将这个数据(对象)添加到表格中5public static void update(User newuser) {6try {7// 获取数据库的连接8 Connection conn = MySQL.getconnect();9// 设置SQL规则,数据由于还不知道先⽤?代替10//String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";11 String sql = "Update table1 set user=?,password=?,age=? where id=?";12// 预处理sql语句13 PreparedStatement presta = conn.prepareStatement(sql);14// 设置sql语句中的values值15 presta.setString(1, er);16 presta.setString(2, newuser.password);17 presta.setInt(3, newuser.age);18 presta.setInt(4, newuser.id);19// 执⾏SQL语句,实现数据添加20 presta.execute();21 } catch (SQLException e) {22 e.printStackTrace();23 }24 }25public static void main(String[] args) {26// 执⾏add(newuser)⽅法27 update(newuser);28 }29 }这⾥是根据ID号来更新信息,结果如下姓名、密码被成功更改,nice!。

JavaWeb实现mysql数据库数据的添加和删除

JavaWeb实现mysql数据库数据的添加和删除

JavaWeb实现mysql数据库数据的添加和删除⽬录准备操作1. 配置mysql环境2. 创建Servlet Project3. 创建EMS Package4. 分别创建Servlet5. 创建addUser.html6. 配置web.xml⽂档7. 打开服务器并重新部署服务器8. 效果展⽰添加员⼯数据界⾯显⽰员⼯数据添加员⼯数据删除员⼯数据准备操作1. 配置mysql环境2. 创建Servlet Project3. 创建EMS Package4. 分别创建ServletUserListServlet:⽤于实现访问数据库,并将数据在页⾯显⽰的功能。

UserAddServlet:⽤于获取request数据,并将数据添加到ems数据库user表中。

UserDeleteServlet:⽤于通过员⼯id删除ems数据库中user表中id对应的数据5. 创建addUser.html6. 配置web.xml⽂档<servlet><servlet-name>UserListServlet</servlet-name><servlet-class>erListServlet</servlet-class></servlet><servlet><servlet-name>UserDeleteServlet</servlet-name><servlet-class>erDeleteServlet</servlet-class></servlet><servlet><servlet-name>UserAddServlet</servlet-name><servlet-class>erAddServlet</servlet-class></servlet><servlet-mapping><servlet-name>UserListServlet</servlet-name><url-pattern>/list</url-pattern></servlet-mapping><servlet-mapping><servlet-name>UserDeleteServlet</servlet-name><url-pattern>/delete</url-pattern></servlet-mapping><servlet-mapping><servlet-name>UserAddServlet</servlet-name><url-pattern>/addUser</url-pattern></servlet-mapping>7. 打开服务器并重新部署服务器8. 效果展⽰显⽰数据库数据删除数据库数据添加数据库数据添加员⼯数据界⾯addUser.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>添加员⼯</title><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body><center><h1>添加员⼯信息</h1><form action="addUser" method="post">⼯号:<input type="text" name="id"/><br/>姓名:<input type="text" name="name"/><br/>⼯资:<input type="text" name="salary"/><br/>年龄:<input type="text" name="age"/><br/><input type="submit" name="smt" value="提交"/></form></center></body></html>显⽰员⼯数据UserListServletpackage EMS;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//员⼯信息查询的Servletpublic class UserListServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//使⽤JDBC连接mysql数据库,将user表中的输出查询处理ResultSet result=null;Connection con=null;try {//(1)注册加载驱动Class.forName("com.mysql.jdbc.Driver");//(2)获得数据库的链接//(1).连接mysql的url地址String url="jdbc:mysql://localhost:3306/ems";//(2).连接mysql的⽤户名String username="root";//(3).连接mysql的密码String pwd="123456";con=DriverManager.getConnection(url, username, pwd);//(3)预编译sql语句System.out.println("MySQL连接成功!"+con);//3.预编译SQL语句String sql="select * from user";PreparedStatement prep=con.prepareStatement(sql);//(4)执⾏sql语句result=prep.executeQuery();} catch (Exception e) {e.printStackTrace();}//使⽤response,获得字符输出流PrintWriter,将查询出的结果输出到浏览器端//设置格式编码response.setContentType("text/html;charset=utf-8");//向浏览器端输出⼀个表格PrintWriter pw=response.getWriter();pw.println("<table border='1' cellspacing='0' width='400' height='80' align='center'>");pw.println("<caption>员⼯信息表</caption>");pw.println("<tr align='center'>");pw.println("<td>⼯号</td><td>姓名</td><td>⼯资</td><td>年龄</td>");pw.println("</tr>");try {while(result.next()){pw.println("<tr align='center'><td>"+result.getInt("id")+"</td><td>"+result.getString("name")+"</td><td>"+result.getDouble("salary")+"</td><td>"+result.getInt("age")+"</td><td><a href='delete?id="+result.getInt("id")+"'>删除</a></td></tr>"); System.out.println(result.getInt("id")+"---"+result.getString("name")+"---"+result.getDouble("salary")+"---"+result.getInt("age"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}//表格的最后⼀⾏pw.println("<tr><td colspan='5'><a href='addUser.html'>添加员⼯信息</a></td></tr>");pw.println("</table>");//关闭try {con.close();} catch (SQLException e) {e.printStackTrace();}}}添加员⼯数据UserAddServletpackage EMS;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.PreparedStatement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import DBUtil.DBUtil;//添加员⼯信息的Servletpublic class UserAddServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String strId=request.getParameter("id");String strName=request.getParameter("name");String strSal=request.getParameter("salary");String strAge=request.getParameter("age");System.out.print(strId+strName+strSal+strAge);try {//使⽤jdbc连接数据库Connection con=DBUtil.getCon("ems");//预编译sql语句String sql="insert into user values(?,?,?,?)";PreparedStatement prep=con.prepareStatement(sql);prep.setInt(1, Integer.parseInt(strId));prep.setString(2, strName);prep.setDouble(3, Double.parseDouble(strSal));prep.setInt(4, Integer.parseInt(strAge));//执⾏sql语句prep.executeUpdate();//关闭数据库的连接con.close();} catch (Exception e) {e.printStackTrace();}//插⼊成功后,回到list⾸页//重定向response.sendRedirect("list");}}删除员⼯数据UserDeleteServletpackage EMS;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import DBUtil.DBUtil;//员⼯信息删除的Servletpublic class UserDeleteServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//接收请求中的参数//http://localhost:8080/Servlet/delete?id=2String strId=request.getParameter("id");//System.out.println("⼯号:"+strId);try {//2~3,使⽤JDBC连接mysql数据库,完成删除的操作Connection con=DBUtil.getCon("ems");//System.out.println(con);//com.mysql.jdbc.JDBC4Connection@64dfeb//预编译sql语句String sql="delete from user where id=?";PreparedStatement prep=con.prepareStatement(sql);//设置sql语句中的问号参数1:表⽰第⼏个问好参数2:对问号设置的内容prep.setInt(1,Integer.parseInt(strId));//执⾏sql语句//executeUpdate()适⽤于删除delete、修改update、插⼊insert executeQuery()适⽤于查询selectprep.executeUpdate();//关闭数据库的连接con.close();} catch (Exception e) {e.printStackTrace();}//4,删除成功以后,回到http://localhost:8080/ems-servlet/list⾸页地址//转发技术:将未完成的⼯作交给下⼀个组件继续完成,浏览器地址栏的地址不会发⽣变化,它是⼀次请求//重定向技术:已经完成了⼯作,只是为了跳转到下⼀个地址显⽰,浏览器地址栏的地址会发⽣变化,是两次请求//写⼀个Servlet对应的url-pattern地址,会重定向到对应的Servlet来执⾏response.sendRedirect("list");}}以上就是JavaWeb实现mysql数据库数据的添加和删除的详细内容,更多关于JavaWeb数据添加删除的资料请关注其它相关⽂章!。

Java连接mysql数据库经典代码

Java连接mysql数据库经典代码

Java连接mysql数据库经典代码连其他数据库⽅式与以下⽅式类似。

package dao.impl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.PseudoColumnUsage;import java.sql.ResultSet;import java.sql.SQLException;import dao.logindao;import ers;public class loginDaoImpl implements logindao {@Overridepublic Users checkLoginDao(String uname, String pwd) {//声名JDBC对象Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;//声名存储对象Users users=null;try {Class.forName("com.mysql.jdbc.Driver");//获取连接对象conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","mysql");//创建sql命令String sql="select * from t_user where userName=? and pwd=?";//创建sql命令对象ps=conn.prepareStatement(sql);//给占位符赋值ps.setString(1, uname);ps.setString(2, pwd);//执⾏rs=ps.executeQuery();//遍历结果while (rs.next()) {users=new Users();users.setId(rs.getInt("id"));users.setName(rs.getNString("userName"));users.setPwd(rs.getNString("pwd"));users.setTime(rs.getTimestamp("regTime"));}//关闭} catch (Exception e) {e.printStackTrace();}finally{try {rs.close();ps.close();conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return users;}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由我司收集整编,推荐下载,如有疑问,请与我司联系mysql数据库的连接以及增删改查Java代码实现(PreparedStatement
版)
2015/05/27 0 数据库:
 create table t1(id int primary key not null auto_increment,name varchar(32),password varchar(32));insert into t1(name,password) values( admin , 123 insert into t1(name,password) values( zhangsan , 123 insert into t1(name,password) values( lisi , 123 Java代码:
 mySqlConnection.java代码:
 package com.dbdao.mysql;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.junit.Test;public class mySqlConnection {//创建数据库驱动名称private static String Driver_ >//数据库链接地址private String url= jdbc:mysql://localhost:3306/test //数据库用户名private String user= root //数据库密码private String password= 11 //数据库链接private Connection con=null;//准备声明sql语句private PreparedStatement pstmt=null;//结果集private ResultSet rs=null;//影响行数private int i;/* * 创建驱动* */static{try {Class.forName(Driver_class);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/* * 加载驱动* */@Testpublic void getConnect() {// TODO Auto-generated method stubtry {con=DriverManager.getConnection(url, user, password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}//判断数据库是否加载成功if(con!=null){System.out.println( 数据库加载成功!}else{System.out.println( 数据库加载失败!}}/* * 执行sql语句* */public void doSql(String sql,Object[] object) {// TODO Auto-generated method stub//判断sql语句是否存在if(sql!=null){//加载驱动getConnect();//判断object数组是否存在if(object==null){//如果不存在,创建一个,。

相关文档
最新文档