您的位置:首页 > 数据库

JDBC连接数据库操作(三)

2016-11-25 22:13 155 查看
利用前两篇的知识,写一个综合的小案例,实现对数据库的增删查改。


表的结构

数据库名为day12

表名为person
表有两列,列名分别是id和name


代码

import java.sql.ResultSet;
import java.util.Scanner;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

public class DatabaseDemo {
public static void main(String[] args) throws Exception {
boolean flag = true;
int choose;
Scanner sc = new Scanner(System.in);
Connection con = JDBCUtils.getCon();
String sql;
String values;
PreparedStatement psmt = null;
int id;
int line;

do {
System.out.println("==================数据库操作==================");
System.out.println(" 1查询    2插入     3更改     4删除      0退出  ");
System.out.println("============================================");
choose = sc.nextInt();
switch (choose) {
case 2:
sql = "insert into person(name) values(?)";
psmt = (PreparedStatement) con.prepareStatement(sql);
System.out.println("输入姓名:");
values = sc.next();
psmt.setString(1, values);
line = psmt.executeUpdate();
System.out.println("新添加的记录:"+line);
break;

case 1:
sql = "select * from person";
psmt = (PreparedStatement) con.prepareStatement(sql);
ResultSet rs = psmt.executeQuery();
System.out.println("id\tname");
while (rs.next()) {
int idc = rs.getInt("id");
String name = rs.getString("name");
System.out.println(idc+"\t"+name);
}
rs.close();
break;

case 3:
sql = "update person set name=? where id=?";
psmt = (PreparedStatement) con.prepareStatement(sql);
System.out.println("请输入新的name:");
values = sc.next();
System.out.println("请输入id号:");
id = sc.nextInt();
psmt.setString(1, values);
psmt.setInt(2, id);
line = psmt.executeUpdate();
System.out.println("新添加的记录:"+line);
break;

case 4:
sql = "delete from person where id=?";
psmt = (PreparedStatement) con.prepareStatement(sql);
System.out.println("请输入id号:");
id = sc.nextInt();
psmt.setInt(1, id);
line = psmt.executeUpdate();
System.out.println("新添加的记录:"+line);
break;

case 0:
flag = false;
sc.close();
psmt.close();
con.close();
break;

default:
System.out.println("输入值无效");
break;
}
} while (flag);
}
}


JDBC工具类

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import com.mysql.jdbc.Connection;

public class JDBCUtils {
private static String DRIVER;
private static String URL;
private static String USER;
private static String PASSWORD;

// 通过配置文件来获取用户名密码等连接数据库的信息,是一种常用的手段
static {
try {
// Properties可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串
Properties prop = new Properties();

// 使用IO流获得配置文件
InputStream in = new FileInputStream("D:\\setfile.txt");

// 将文件加载到Properties
prop.load(in);

// 通过键来取对应的值
DRIVER = prop.getProperty("driver");
URL = prop.getProperty("url");
USER = prop.getProperty("user");
PASSWORD = prop.getProperty("password");

in.close(); //关闭IO流
} catch (Exception e) {
System.out.println("获取配置文件失败");
}
}

public static Connection getCon() {
try {
// 驱动注册
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

Connection con = null;
try {
con = (Connection) DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}

return con;
}
}


配置文件

文件的位置在D盘的根目录下,里面是以键值对的形式存储的,方便通过使用代码来一一取出。

等号前面的是键,等号后面的是对应的值


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 jdbc java