连接数据库和关闭数据库
package dao;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
public class DBUtil {
private Connection conn = null;
// 一个得到连接Connection的方法
public Connection getConn() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/lanoudb?useUnicode=true&characterEncoding=UTF-8", "root", "123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public void close(){
try{
if(!conn.isClosed()){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
老师类
package dao;
public class Teacher {
private String tid;
private String tname;
public String getTid() {
return tid;
}
public void setTid(String tid) {
this.tid = tid;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
}
对SQL 的CRUD
package dao;
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 TeacherDao extends DBUtil {
private List<Teacher> teachers = null;
//添加
public int saveTeacher(Teacher teacher){
Connection conn = getConn();
try {
String sql = "insert into t_teacher(tid,tname) values(?,?)";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, teacher.getTid());
pstm.setString(2, teacher.getTname());
return pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
close();
}
return 0;
}
//删除
public int deleteTeacher(String tid){
Connection conn = getConn();
try {
String sql = "delete from t_teacher where tid=?";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, tid);
return pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
close();
}
return 0;
}
//修改
public int updateTeacher(Teacher teacher){
Connection conn = getConn();
try {
String sql = "update t_teacher set tname=? where tid=?";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(2, teacher.getTid());
pstm.setString(1, teacher.getTname());
return pstm.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
close();
}
return 0;
}
//查询
public List<Teacher> getTeachers(){
teachers = new ArrayList<Teacher>();
Connection conn = getConn();
try {
String sql = "select tid,tname from t_teacher";
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while(rs.next()){
Teacher teacher = new Teacher();
teacher.setTid(rs.getString("tid"));
teacher.setTname(rs.getString("tname"));
teachers.add(teacher);
}
}catch(Exception e){
e.printStackTrace();
}finally{
close();
}
return teachers;
}
}
测试主类
package dao;
import java.util.Scanner;
public class UI {
public static void main(String[] args) {
TeacherDao teacherDao = new TeacherDao();
while(true){
System.out.println("欢迎使用老师管理系统v1.0beta");
System.out.println("1.添加老师...\n2.修改老师...\n3.删除老师...\n4.查询老师...\n5.退出系统...");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入老师工号...");
String tid = scanner.next();
System.out.println("请输入老师姓名...");
String tname = scanner.next();
//封装
Teacher teacher = new Teacher();
teacher.setTid(tid);
teacher.setTname(tname);
if(teacherDao.saveTeacher(teacher) > 0){
System.out.println("数据成功录入系统...");
}else{
System.out.println("对不起,数据录入失败...");
}
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
System.exit(0);
break;
default:
break;
}
}
}
}