package com.you.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import com.you.entity.User;
public class Jdbc {
private static String url = "jdbc:mysql://192.168.0.117:3306/yq";
private static String user = "root";
private static String password = "root";
private static Connection con = null;
private static Statement sta = null;
private static PreparedStatement pre = null;
private static ResultSet res = null;
/**
* 创建数据库连接
*
* @return
*/
public static Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载mysql驱动
con = DriverManager.getConnection(url, user, password);// 调用连接方法并传入参数
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;// 返回一个Connection对象
}
/**
* 关闭连接
*
* @param con
*/
public static void close(Connection con) {// 传入connection对象
try {
if (con != null) { // 保证con对象不为空
con.close(); // 关闭数据库连接
System.out.println("断开成功");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查询所有学生
*
* @param sql
* @return
*/
public static List<User> getUserList(String sql) {
List<User> userList = new ArrayList<User>();// 创建一个user类的泛型集合
User user = new User();
try {
con = getConnection();// 获取连接
sta = con.createStatement();// 创建一个statemen接口
res = sta.executeQuery(sql);// 得到一个结果集
while (res.next()) {// 对结果集进行处理
user.setId(res.getString("id"));
user.setName(res.getString("name"));
user.setPassword(res.getString("password"));
userList.add(user);// 在泛型集合里添加一个user对象元素
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(con);
}
return userList;
}
/**
* 根据name删除
*
* @param name
* @return
*/
public static Boolean deleteName(User user) {
boolean flag = true;
String sql = "delete from User where name=?";
try {
con = getConnection();
pre = con.prepareStatement(sql);// 对SQL进行预编译
pre.setString(1, user.getName());// 给接口中的sql赋值
flag = pre.execute();// 执行返回结果行
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pre != null) {
pre.close();
close(con);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
/**
* 增加一个用户
*
* @param sql
* @return
*/
public static Boolean addUserList(User user) {
boolean flag = true;
String sql = "insert into User values(?,?,?)";
con = getConnection();
try {
pre = con.prepareStatement(sql);;// 对SQL进行预编译
pre.setString(1, user.getId());// 给接口中的sql赋值
pre.setString(2, user.getName());// 给接口中的sql赋值
pre.setString(3, user.getPassword());// 给接口中的sql赋值
flag = pre.execute();// 执行返回结果行
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(con);
}
return flag;
}
/**
* 根据ID修改姓名
*
* @param user
* @return
*/
public static boolean updateUserList(User user) {
boolean flag = true;
String sql = "update User set name=? where id=?";
try {
con = getConnection();
pre = con.prepareStatement(sql);;// 对SQL进行预编译
pre.setString(1, user.getName());// 给接口中的sql赋值
pre.setString(2, user.getId());// 给接口中的sql赋值
flag = pre.execute();// 执行返回结果行
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (pre != null) {
try {
pre.close();
close(con);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return flag;
}
public static void main(String[] args) {
/**
* 查询所有user
*/
List<User> userList = getUserList("select * from User");
for (User user : userList) {
System.out.println(user.getId() + user.getName() + user.getPassword());
}
/**
* 根据姓名删除
*/
System.out.println(deleteName(new User("111")));
/**
* 添加一个user
*/
System.out.println(addUserList(new User("111", "www", "s")));
/**
* 根据ID修改
*/
System.out.println(updateUserList(new User("s004", "333")));
}
}
jdbc的增删改查
最新推荐文章于 2024-09-21 10:38:43 发布