Java数据库操作:属性文件、工具类与预处理语句实战
Java数据库操作实战:属性文件、工具类与预处理语句
本文将以水果信息管理为例,介绍如何使用Java进行数据库操作,涵盖创建数据表、使用属性文件配置连接信息、构建数据库连接工具类以及利用预处理语句插入数据等方面,旨在帮助读者掌握安全、高效的数据库操作技巧。
1. 创建水果信息表
首先,我们需要在数据库中创建一个用于存储水果信息的表。以下是一个简单的示例,您可以根据实际需求进行修改:sqlcreate table fruit( number varchar(10) primary key, fruitname varchar(20), price double, unit varchar(4));
该表包含四个字段:
number: 水果编号,主键,类型为varchar(10)-fruitname: 水果名称,类型为varchar(20)-price: 水果价格,类型为double-unit: 水果单位,类型为varchar(4)
2. 使用属性文件配置数据库连接
为了提高代码的可维护性和安全性,我们将数据库连接信息存储在属性文件中。创建一个名为fruit.properties的文件,并在其中添加以下内容:
url=jdbc:mysql://localhost:3306/db_nameusername=usernamepassword=password
请将db_name、username和password替换为您的实际数据库连接信息。
3. 构建数据库连接工具类
为了方便地进行数据库操作,我们创建一个数据库连接工具类DBUtil.java,用于读取属性文件中的配置信息,并提供获取数据库连接和关闭连接的方法:javaimport java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Properties;
public class DBUtil { private static Connection conn = null;
public static Connection getConnection() { if (conn != null) { return conn; }
try { Properties props = new Properties(); props.load(new FileInputStream('fruit.properties'));
String url = props.getProperty('url'); String username = props.getProperty('username'); String password = props.getProperty('password');
conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); }
return conn; }
public static void closeConnection() { if (conn != null) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } }}
4. 创建Fruit类并使用预处理语句插入数据
接下来,我们创建一个Fruit类来表示水果信息,并在其中使用预处理语句将数据插入到数据库中。javaimport java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;
public class Fruit { private String number; private String fruitName; private double price; private String unit;
public Fruit(String number, String fruitName, double price, String unit) { this.number = number; this.fruitName = fruitName; this.price = price; this.unit = unit; }
public void insertFruit() { Connection conn = null; PreparedStatement pstmt = null;
try { conn = DBUtil.getConnection(); String sql = 'INSERT INTO fruit (number, fruitname, price, unit) VALUES (?, ?, ?, ?)'; pstmt = conn.prepareStatement(sql); pstmt.setString(1, number); pstmt.setString(2, fruitName); pstmt.setDouble(3, price); pstmt.setString(4, unit); pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (pstmt != null) { pstmt.close(); } } catch (Exception e) { e.printStackTrace(); } } }
public static void main(String[] args) { Fruit fruit = new Fruit('1', '苹果', 8.0, 'kg'); fruit.insertFruit(); DBUtil.closeConnection(); }}
在Fruit类中,insertFruit()方法使用预处理语句将水果信息插入到数据库中。预处理语句可以有效防止SQL注入攻击,提高代码的安全性。
总结
本文介绍了如何使用Java进行数据库操作,包括创建数据表、使用属性文件配置连接信息、构建数据库连接工具类以及利用预处理语句插入数据。通过合理地组织代码和使用合适的技术,可以提高代码的可读性、可维护性和安全性。
原文地址: https://www.cveoy.top/t/topic/mVt 著作权归作者所有。请勿转载和采集!