【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();}}}}在实际应用中,需要根据具体情况进行修改和优化。

  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){//如果不存在,创建一个,。

相关文档
最新文档