传统模式和DAO模式下对数据库进行增删改查对比操作
传统模式:
首先创建数据库表结构:(数据库以mysql为例,下同,项目使用数据库可改)
传统模式java代码:
package com.hkd.myschool;
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.Scanner;
public class Phone {
/**
* @param args
*/
static String[] arr = {"添加数据","查询数据","删除数据","退出操作"};
static Scanner sc = new Scanner(System.in);
//入口main函数
public static void main(String[] args) {
// 添加驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//循环操作
cc:do{//添加循环标签cc
System.out.println("请选择您要进行的操作:");
for(int i=0;i<arr.length;i++){
System.out.println((i+1)+"."+arr[i]);
}
int choose = sc.nextInt();
switch(choose){
case 1:
System.out.println("请输入id:");
int id = sc.nextInt();
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入手机号:");
String tel = sc.next();
System.out.println("请输入机号类型:");
String type = sc.next();
add(id,name,tel,type);
break;
case 2:
show();
break;
case 3:
System.out.println("请输入该人员姓名:");
String inputname = sc.next();
delete(inputname);
break;
case 4:
System.out.println("谢谢使用!");
break cc;//通过标签跳出do while循环
default:
break cc;//通过标签跳出do while循环
}
}while(true);
//测试使用
/*try {
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/phone", "root", "root");
//创建查询对象
Statement st = conn.createStatement();
String sql = "insert into phoneinfo values(null,'lcn','18437963795','移动')";
int a =st.executeUpdate(sql);
st.close();
conn.close();
if(a>0){
System.out.println("成功");
}else{
System.out.println("失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
//--------------------------------------------------功能模块------------------------------------------------------
//添加方法
public static void add(int id,String name,String tel,String type){
try {
Connection c