user
public class User {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User() {
super();
}
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
@Override
public String toString() {
return "User [name=" + name + ", password=" + password + "]";
}
}
utils
public class DBUtils {
private static String driverClass;
private static String url;
private static String user;
private static String password;
static{
//加载配置文件
ResourceBundle rb=ResourceBundle.getBundle("info"); //info src下配 +置文件 在同一文件夹下
driverClass = rb.getString("driverClass");
url = rb.getString("url");
user=rb.getString("user");
password=rb.getString("password");
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//获取连接 Connection 导包 java.sql.Connection
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url,user,password);
}
//释放资源
public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs=null;
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt=null;
}
}
}
curd测试
public class TestCurd {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
TestCurd tc = new TestCurd();
System.out.println("请输入:1.查询,2.添加,3.修改,4.删除");
while(true){
int in=sc.nextInt();
switch(in){
case 1 :
System.out.println("查询全部数据");
tc.testSelevt();
continue;
case 2 :
System.out.println("请输入要添加的姓名 密码");
String s1=sc.next();
String [] arr=s1.split(",");
User u=new User(arr[0],arr[1]);
tc.testInsert(u);
continue;
case 3 :
System.out.println("请输入要修改的姓名和修改后的密码");
String s2=sc.next();
//按姓名修改
String[] arr1 = s2.split(",");
User u1=new User(arr1[0],arr1[1]);
tc.testUpdate(u1);
continue;
case 4:
System.out.println("输入要删除的姓名");
String s3=sc.next();
User u2=new User();
u2.setName(s3);
tc.testDelete(u2);
continue;
default :
System.out.println("输入有误");
}
}
}
public void testSelevt() {
//加载驱动 获取连接
Connection conn = null;
//获取预编译sql的执行对象
PreparedStatement ps = null;
//执行sql语句
ResultSet rs = null;
try {
conn = DBUtils.getConnection();
String sql="select*from user";
/*System.out.println(sql);*/
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
System.out.print(rs.getString("name"));
System.out.print(rs.getString("password"));
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtils.closeAll(rs, ps, conn);
}
}
//update 增 添加
public void testInsert(User u) {
Connection conn = null;
//获取执行sql语句对象
PreparedStatement ps = null;
try {
conn = DBUtils.getConnection();
ps = conn.prepareStatement("INSERT INTO USER (NAME,PASSWORD)VALUES(?,?)");
ps.setString(1, u.getName());
ps.setString(2,u.getPassword());
//执行sql语句 result
int result = ps.executeUpdate();
if(result>0){
System.out.println("添加成功"+result);
}else{
System.out.println("失败");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
//关闭资源
DBUtils.closeAll(null,ps,conn);
}
}
//修改
public void testUpdate(User u) {
Connection conn=null;
PreparedStatement ps=null;
try {
conn=DBUtils.getConnection();
String sql="update user set password=? where name=?";
ps=conn.prepareStatement(sql);
ps.setString(1,u.getPassword());
ps.setString(2, u.getName());
int jieguo = ps.executeUpdate();
if(jieguo>0){
System.out.println("修改成功"+jieguo);
}else{
System.out.println("修好失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtils.closeAll(null, ps, conn);
}
}
public void testDelete(User u) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBUtils.getConnection();
String sql="delete from User where name=?";
ps = conn.prepareStatement(sql);
ps.setString(1, u.getName());
int result = ps.executeUpdate();
if(result>0){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBUtils.closeAll(null, ps, conn);
}
}