4.3
个人作业dao类
• 所花时间:3
• 代码行数:188
• 博客容量:1
• 代码如下:
package com.example.undertaking.TaskPackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DayDAO {
private final static String driver = "com.mysql.jdbc.Driver";// MySql驱动
private static final String url="jdbc:mysql://192.168.250.9:3306/party?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true";
private static final String username="root";
private static final String pwd="1234";
private static Connection conn=null;
public interface DayDaoInsertListener{
public void OperationCompletely(boolean result);
}
public static void insert(DayTask dayTask, DayDAO.DayDaoInsertListener dayDaoInsertListener){
new Thread(new Runnable() {
@Override
public void run() {
String sql="insert into day_task(_id,week_id,today,studyInfo,dayOfWeek,startTime,EndTime,minutes) values(?,?,?,?,?,?,?,?)";
try {
Class.forName(driver);
conn= DriverManager.getConnection(url,username,pwd);
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,dayTask.stuID);
ps.setString(2,dayTask.weekID);
ps.setString(3,dayTask.today_);
ps.setString(4,dayTask.studyInfo);
ps.setInt(5,dayTask.dayOfWeek);
ps.setString(6,dayTask.startTime);
ps.setString(7,dayTask.endTime);
ps.setInt(8,dayTask.studyMinutes);
boolean result=ps.executeUpdate()>0;
dayDaoInsertListener.OperationCompletely(result);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}).start();
}
public interface DayDaoQueryListener{
public void OperationCompletely(List<DayTask> ls);
}
public static void queryByWeekId(String weekId, DayDaoQueryListener dayDaoQueryListener) {
new Thread(new Runnable() {
@Override
public void run() {
List<DayTask> dayTaskList = new ArrayList<>();
String sql = "SELECT * FROM day_task WHERE week_id = ?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, weekId);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
DayTask dayTask = new DayTask();
dayTask.stuID=(rs.getString("_id"));
dayTask.weekID=(rs.getString("week_id"));
dayTask.today_=(rs.getString("today"));
dayTask.studyInfo=(rs.getString("studyInfo"));
dayTask.dayOfWeek=(rs.getInt("dayOfWeek"));
dayTask.startTime=(rs.getString("startTime"));
dayTask.endTime=(rs.getString("endTime"));
dayTask.studyMinutes=(rs.getInt("minutes"));
dayTaskList.add(dayTask);
}
// 关闭资源
rs.close();
ps.close();
conn.close();
// 调用回调,将结果传递回去
dayDaoQueryListener.OperationCompletely(dayTaskList);
} catch (ClassNotFoundException | SQLException e) {
// 处理异常
e.printStackTrace();
// 调用回调,将异常传递回去
dayDaoQueryListener.OperationCompletely(null);
}
}
}).start();
}
public interface DayDaoQueryByIDListener{
public void OperationCompletely(List<DayTask> ls);
}
public static void queryByID(String id, DayDaoQueryByIDListener dayDaoQueryByIDListener) {
new Thread(new Runnable() {
@Override
public void run() {
List<DayTask> dayTaskList = new ArrayList<>();
String sql = "SELECT * FROM day_task WHERE _id = ?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
DayTask dayTask = new DayTask();
dayTask.stuID=(rs.getString("_id"));
dayTask.weekID=(rs.getString("week_id"));
dayTask.today_=(rs.getString("today"));
dayTask.studyInfo=(rs.getString("studyInfo"));
dayTask.dayOfWeek=(rs.getInt("dayOfWeek"));
dayTask.startTime=(rs.getString("startTime"));
dayTask.endTime=(rs.getString("endTime"));
dayTask.studyMinutes=(rs.getInt("minutes"));
dayTaskList.add(dayTask);
}
// 关闭资源
rs.close();
ps.close();
conn.close();
// 调用回调,将结果传递回去
dayDaoQueryByIDListener.OperationCompletely(dayTaskList);
} catch (ClassNotFoundException | SQLException e) {
// 处理异常
e.printStackTrace();
// 调用回调,将异常传递回去
dayDaoQueryByIDListener.OperationCompletely(null);
}
}
}).start();
}
public interface DayDaoGroupBy {
void OperationCompletely(HashMap<String, Integer> map);
}
public static void groupBy(DayDaoGroupBy dayDaoGroupBy) {
new Thread(new Runnable() {
@Override
public void run() {
HashMap<String, Integer> str = new HashMap<>();
String sql = "SELECT COUNT(*) AS count, userInfo.`name` " +
"FROM day_task " +
"JOIN userInfo ON userInfo._id = day_task._id " +
"GROUP BY day_task._id;";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
int count = rs.getInt("count");
String name = rs.getString("name");
str.put(name, count);
}
// 关闭资源
rs.close();
ps.close();
conn.close();
// 调用回调,将结果传递回去
dayDaoGroupBy.OperationCompletely(str);
} catch (ClassNotFoundException | SQLException e) {
// 处理异常
e.printStackTrace();
// 调用回调,将异常传递回去
dayDaoGroupBy.OperationCompletely(null);
}
}
}).start();
}
public interface DayDaoQueryByValueListener{
public void OperationCompletely(List<DayTask> ls);
}
public static void queryByValue(String values, DayDaoQueryByValueListener dayDaoQueryByValueListener) {
new Thread(new Runnable() {
@Override
public void run() {
List<DayTask> dayTaskList = new ArrayList<>();
String sql = "SELECT * FROM day_task WHERE studyInfo LIKE '%" + values + "%'";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
DayTask dayTask = new DayTask();
dayTask.stuID=(rs.getString("_id"));
dayTask.weekID=(rs.getString("week_id"));
dayTask.today_=(rs.getString("today"));
dayTask.studyInfo=(rs.getString("studyInfo"));
dayTask.dayOfWeek=(rs.getInt("dayOfWeek"));
dayTask.startTime=(rs.getString("startTime"));
dayTask.endTime=(rs.getString("endTime"));
dayTask.studyMinutes=(rs.getInt("minutes"));
dayTaskList.add(dayTask);
}
// 关闭资源
rs.close();
ps.close();
conn.close();
// 调用回调,将结果传递回去
dayDaoQueryByValueListener.OperationCompletely(dayTaskList);
} catch (ClassNotFoundException | SQLException e) {
// 处理异常
e.printStackTrace();
// 调用回调,将异常传递回去
dayDaoQueryByValueListener.OperationCompletely(null);
}
}
}).start();
}
}
package com.example.undertaking.TaskPackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class WeekDAO {
private final static String driver = "com.mysql.jdbc.Driver";// MySql驱动
private static final String url="jdbc:mysql://192.168.250.9:3306/party?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true";
private static final String username="root";
private static final String pwd="1234";
private static Connection conn=null;
public interface WeekDaoInsertListener{
public void OperationCompletely(boolean result);
}
public static void insert(WeekTask weekTask,WeekDaoInsertListener weekDaoInsertListener){
new Thread(new Runnable() {
@Override
public void run() {
String sql="insert into week_task(week_id,_id,goal,finishRate) values(?,?,?,?)";
try {
Class.forName(driver);
conn= DriverManager.getConnection(url,username,pwd);
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,weekTask.week_id);
ps.setString(2,weekTask.stuID);
ps.setString(3,weekTask.goal);
ps.setString(4,weekTask.finishRate);
boolean result=ps.executeUpdate()>0;
weekDaoInsertListener.OperationCompletely(result);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}).start();
}
public interface WeekDaoRowListener{
void OperationCompletely(int result);
}
public static void getRowCount(String id, WeekDaoRowListener weekDaoRowListener) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "SELECT COUNT(*) FROM week_task WHERE _id=?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
int result = 0;
if (rs.next()) {
result = rs.getInt(1); // 获取查询结果
}
weekDaoRowListener.OperationCompletely(result); // 将结果传递给回调函数
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}).start();
}
public interface WeekQueryByWeekId{
void OperationCompletely(String finishRate);
}
public static void queryByWeekId(String weekId, WeekQueryByWeekId weekQueryByWeekId) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "SELECT finishRate FROM week_task WHERE week_id=?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, weekId);
ResultSet rs = ps.executeQuery();
String result=null;
if (rs.next()) {
result=rs.getString("finishRate");
}
weekQueryByWeekId.OperationCompletely(result); // 将结果传递给回调函数
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}).start();
}
public interface WeekFinishRateUpdate{
void OperationCompletely(Boolean result);
}
public static void finishRateUpdate(String weekID, WeekFinishRateUpdate weekFinishRateUpdate) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "UPDATE week_task SET finishRate = finishRate + 0.2 where week_ID=?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, weekID);
int result = ps.executeUpdate();
weekFinishRateUpdate.OperationCompletely(result > 0); // 将结果传递给回调函数
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}).start();
}
public interface QueryAll{
void OperationCompletely(List<WeekTask> result);
}
public static void finishQueryAll(String id,QueryAll queryAll) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "select * from week_task where _id = ?";
try {
List<WeekTask> ls=new ArrayList<>();
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs=ps.executeQuery();
while(rs.next()){
WeekTask weekTask=new WeekTask();
weekTask.stuID=id;
weekTask.week_id=rs.getString("week_id");
weekTask.goal=rs.getString("goal");
weekTask.finishRate=rs.getString("finishRate");
ls.add(weekTask);
}
queryAll.OperationCompletely(ls);
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}).start();
}
}
package com.example.undertaking.userDB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserDAO {
private final static String driver = "com.mysql.jdbc.Driver";// MySql驱动
private static final String url="jdbc:mysql://192.168.250.9:3306/party?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true";
private static final String username="root";
private static final String pwd="1234";
private static Connection conn=null;
private static User user=null;
private static int res=0;
public interface DatabaseOperationListener {
void onOperationCompleted(boolean success);
}
public static void insert(User user1, DatabaseOperationListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "insert into userinfo(_id,name,password,class,phone,selecto) values(?,?,?,?,?,?)";
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
ps = conn.prepareStatement(sql);
ps.setString(1, user1.id);
ps.setString(2, user1.name);
ps.setString(3, user1.password);
ps.setString(4, user1.sClass);
ps.setString(5, user1.phone);
ps.setInt(6, user1.select);
int res = ps.executeUpdate();
if (listener != null) {
listener.onOperationCompleted(res > 0);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace(); // 可以根据实际情况处理异常
} finally {
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace(); // 可以根据实际情况处理异常
}
}
}
}).start();
}
public interface findUserByIDListener{
void onOperationCompleted(User user);
}
//查找方法,根据id_返回user对象
public static void findUserById(String userId,findUserByIDListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
String sql = "SELECT * FROM userinfo WHERE _id = ?";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, pwd);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, userId);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
user=new User();
user.id=(rs.getString("_id"));
user.name=(rs.getString("name"));
user.password=(rs.getString("password"));
user.sClass=(rs.getString("class"));
user.phone=(rs.getString("phone"));
user.select=(rs.getInt("selecto"));
}
listener.onOperationCompleted(user);
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}).start();
}
}
浙公网安备 33010602011771号