Java开发教程:数据库表中新增数据操作详解 (java向数据库表中增加元素)
在Java开发中,频繁的与数据库打交道是很常见的,如何快速地操作数据库就是很多开发者需要掌握的技能之一。其中,最基本的操作就是往数据库表中新增数据,本篇文章就为大家详细介绍Java开发中,如何进行数据库表中新增数据的操作。
一、建立数据库连接
在Java中,首先我们需要建立和数据库的连接,以便能够对数据库表进行操作。常见的建立数据库连接的方式有JDBC和一些ORM框架,比如Hibernate、MyBatis等。这里我们介绍使用JDBC的方式建立数据库连接,具体代码如下:
“`java
import java.sql.*;
public class DBUtil{
private static final String JDBC_DRIVER = “com.mysql.jdbc.Driver”;
private static final String DB_URL = “jdbc:mysql://localhost/dbname”;
private static final String USER = “user”;
private static final String PASS = “password”;
public static Connection getConnection() throws SQLException{
Connection conn = null;
try{
// 注册JDBC驱动
Class.forName(JDBC_DRIVER);
// 建立连接
conn = DriverManager.getConnection(DB_URL,USER,PASS);
}catch(ClassNotFoundException e){
// 处理异常
}
return conn;
}
}
“`
其中,JDBC_DRIVER是数据库驱动的名称,DB_URL是数据库连接的URL,USER和PASS是连接数据库需要使用的用户名和密码。getConnection方法返回一个Connection对象,该对象代表了和数据库建立的连接,在对数据库表进行操作之前我们需要获得该对象。
二、执行SQL语句
我们使用Java JDBC对数据库进行操作时,可以通过执行SQL语句实现操作目的。在进行新增数据的操作时,我们需要使用INSERT语句,将需要新增的数据插入到表中。具体代码如下:
“`java
public static void addData(String name, int age, String gender){
Connection conn = null;
Statement stmt = null;
try{
// 建立连接
conn = DBUtil.getConnection();
//创建语句对象
stmt = conn.createStatement();
// SQL语句
String sql = “INSERT INTO userInfo (name,age,gender) VALUES (‘”+name+”‘,”+age+”,'”+gender+”‘)”;
// 执行语句
stmt.executeUpdate(sql);
}catch(SQLException se){
// 处理异常
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
// 关闭异常处理
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
// 关闭异常处理
}
}
}
“`
其中,SQL语句使用INSERT INTO和VALUES关键字分别表示要把数据插入到哪一个表和要插入的数据,name、age和gender分别表示所要插入的数据的各个属性,值是由传入的参数确定的。需要注意的是,这里我们把sql语句中的参数嵌入到字符串中,这样写有一定风险,为了避免SQL注入的攻击,我们通常使用PreparedStatement预编译语句,具体代码如下:
“`java
public static void addData(String name, int age, String gender){
Connection conn = null;
PreparedStatement ps = null;
try{
// 建立连接
conn = DBUtil.getConnection();
// SQL语句
String sql = “INSERT INTO userInfo (name,age,gender) VALUES (?,?,?)”;
//创建预编译语句对象
ps = conn.prepareStatement(sql);
//为参数赋值
ps.setString(1,name);
ps.setInt(2,age);
ps.setString(3,gender);
// 执行预编译语句
ps.executeUpdate();
}catch(SQLException se){
// 处理异常
}finally{
// 关闭资源
try{
if(ps!=null) ps.close();
}catch(SQLException se2){
// 关闭异常处理
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
// 关闭异常处理
}
}
}
“`
在使用PreparedStatement时,我们需要先写出带?占位符的SQL语句,在执行前为占位符设置参数的值,这样可以避免SQL注入的风险。
三、
通过本文,我们详细介绍了Java开发中,如何对数据库表进行新增数据的操作。首先我们需要建立数据库连接,然后使用JDBC执行SQL语句对表进行操作。其中,需要注意使用PreparedStatement预编译语句避免SQL注入的风险,从而保证了数据库操作的安全性。