JDBC 用配置文件操作mysql数据库

1.新建一个文件,以properties结尾(配置文件)



2.在配置文件中写下程序要用到的变量的值,程序可以导入配置文件。修改程序变量的值时,只需修改配置文件即可

例如:(注意:配置文件中不得有空格,变量值不得用“”引起来,语句最后不得用分号;)

driver 指示 mysql驱动的位置

url 指示连接的数据库

username 指示用户名

password 指登录的密码


配置文件示例如下:

driver=com.mysql.jdbc.Driver			
url=jdbc:mysql://localhost:3306/zje		
username=root
password=zhujunwen

java程序变量赋值如下:

		driver = prop.getProperty("driver");	// getProperty(“driver”)用于获取配置文件 driver= 后的值
		url = prop.getProperty("url");
		username = prop.getProperty("username");
		password = prop.getProperty("password");

3.写一个类DBUtil类。专门用于管理数据库的打开与关闭与初始化

DBUtil类

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBUtil {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	
	static{
		Properties prop = new Properties();		//第一步:新建一个配置文件对象
		try {
			Reader in = new FileReader("src\\config.properties");	//第二步:指定输入流为文件输入流
			prop.load(in);
		} catch (Exception e) {
			e.printStackTrace();
		}
		driver = prop.getProperty("driver");	// getProperty(“driver”)用于获取配置文件 driver= 后的值
		url = prop.getProperty("url");
		username = prop.getProperty("username");
		password = prop.getProperty("password");
	}//static
	
	//打开(连接)数据库
	public static Connection open()
	{		
			try {
				Class.forName(driver);
				return DriverManager.getConnection(url,username,password);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
	}
	
	//关闭数据库
	public static void close(Connection conn)
	{
		if(conn!=null)
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}
}

src\\config.properties:为配置文件config.properties的位置,src为源码包,config.properties在src目录下



主函数main调用:(并提供对数据库的增删查找操作)

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class Test {

	public static void main(String[] args) {
		//CreateTable();
		Insert();
		//Delete();
		Query();
	}
	//创建表
	static void CreateTable()
	{
		Connection conn = DBUtil.open();	//连接数据库
		String sql = "create table userTbl(id int primary key auto_increment,name varchar(20))";
		try {
			Statement stmt = conn.createStatement();	//	步骤一
			stmt.execute(sql);			//步骤二 执行sql语句
		} catch (SQLException e) {
			e.printStackTrace();
		}finally
		{
			DBUtil.close(conn);	//关闭数据库
		}
	}
	//插入
	static void Insert()
	{
		Connection conn = DBUtil.open();
		String sql = "insert userTbl(name) values('xiaoming')";
		try {
			Statement stmt = conn.createStatement();
			stmt.executeUpdate(sql);	//增删查改要用 executeUpdate()
		} catch (SQLException e) {
			e.printStackTrace();
		}finally
		{
			DBUtil.close(conn);
		}
	}
	//删除
	static void Delete()
	{
		Connection conn = DBUtil.open();
		String sql = "delete from userTbl where name='xiaoming'";
		try {
			Statement stmt = conn.createStatement();
			stmt.executeUpdate(sql);	//增删查改要用 executeUpdate()
		} catch (SQLException e) {
			e.printStackTrace();
		}finally
		{
			DBUtil.close(conn);
		}
	}
	
	//遍历1
	static void Query()
	{
		Connection conn = DBUtil.open();
		String sql = "select * from userTbl";
		try {
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(sql);	//遍历有结果返回,要用 executeQuery()
			while(rs.next())
			{
				int id = rs.getInt(1);
				String name = rs.getString(2);
				System.out.println("id:"+id+" name:"+name);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally
		{
			DBUtil.close(conn);
		}
	}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值