工具:apache-tomcat-8.5.57,mysql-installer-community-5.7.28.0,jdk-8u112-windows-x64,idea
一.创建JDBC工程
这部分操作不是特别麻烦,跟一般创建Java类的方法大同小异,小编不在这里做过多的介绍。
二.连接数据库以及简单查询操作
具体代码及操作注释如下图
public static void main(String[] args){
//1.注册驱动--反射去加载jar包中Driver
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://
localhost:3306/summer-camp2023?characterEncoding=utf-8", "root", "root");
//通过输出con确认是否链接成功,链接成功则输出链接地址码
System.out.println(con);
//3.定义sql,t_dept为自己定义的表名
String sql="select * from t_dept ";
//4.创建statement
Statement statement = con.createStatement();
//5.statement执行sql,返回结果集
ResultSet rs = statement.executeQuery(sql);
//6.解析结果集
while (rs.next()) {
//以下为表格自己定义的列名
int did = rs.getInt("did");
String dname = rs.getString("dname");
String dlocation = rs.getString("dlocation");
String leader = rs.getString("leader");
System.out.println(did + "--" + dname + "--" + dlocation
+ "--" + leader);
}
//7.关闭资源
statement.close();
con.close();
}
}
三、搭建三层结构
三层,通常来说就是控制层(controller)、业务层(service)、数据访问层(dao)。控制层相当于公司的高层管理人员,业务层相当于中层干部,数据访问层相当于基层服务人员。他们各司其职并且简化了代码的繁琐程度。
四、三层之间的调用以及数据返回
以我创建的数据库为例,以下是我搭建的三层结构:
首先是控制层代码片段,
public class DeptC {
//引入业务层
private IDeptService deptService=new DeptServiceImpl();
@Test //需要调用junit jar包
public void list(){
List<Dept> list = deptService.list();
System.out.println(list);
}
}
然后是业务层代码片段:
//此为创建接口类
public interface IDeptService {
List<Dept> list();
}
//此为创建利用上一步接口的类
public class DeptServiceImpl implements IDeptService {
//引入dao层
private IDeptDao deptDao=new DeptDaoImpl();
@Override
public List<Dept> list() {
return deptDao.list();
}
}
最后是数据访问层代码片段:
//此为接口类
public interface IDeptDao {
List<Dept> list();
}
public class DeptDaoImpl implements IDeptDao {
@Override
public List<Dept> list() {
//创建一个集合,存放所有的对象
List<Dept> deptList =new ArrayList<>();
try {
//1.注册驱动--反射去加载jar包中Driver
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf-8", "root", "root");
System.out.println(con);
//3.定义sql
String sql="select * from t_dept ";
//4.创建statement
Statement statement = con.createStatement();
//5.statement执行sql,返回结果集
ResultSet rs = statement.executeQuery(sql);
//6.解析结果集
while (rs.next()) {
int did = rs.getInt("did");
String dname = rs.getString("dname");
String dlocation = rs.getString("dlocation");
String leader = rs.getString("leader");
//根据每一行数据,封装成一个实体对象
Dept dept = new Dept(did, dname, dlocation, leader);
//把对象放入集合
deptList.add(dept);
}
//7.关闭资源
statement.close();
con.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return deptList;
}
}