web初级分层
来源:互联网 发布:建筑设计制图软件 编辑:程序博客网 时间:2024/05/23 00:03
分层方法同图书管理系统。
对于DBUtil这个类,有四个方法
1.openConnection() //取得连接
2.close() //释放资源
3.query(String sql, List pram) //查询事件
4.update() //更新事件
//在判断条件时,要注意pram!=null和pram.size()的顺序,不能调换,一旦pram == null时,会报NullPointerException。另外,所有的业务逻辑和事务处理都是在Service层中,这些事件方法的异常要向上抛,此时不是抛给了DAO层,一定是抛给了Service层,因为并不是DAO层new出的DBUtil对象,而是Service层new出DBUtil对象后,作为参数传递给DAO层使用。
对于DAO层,面向接口编程,对于StudentDAO,要实现IStudentDAO接口,该接口的方法:
1. queryAllStudent(DBUtil util)
2. queryStudentById(DBUtil util, String id)
3. insertStudent(DBUtil util, Student student)
4. deleteStudent(DBUtil util, String id)
5. updateStudent(DBUtil util, Student student)
6. ……….等等
对于Service层,在对事务的控制时:
conn.setAutoCommit(flase);
try {
} catch() {
conn.rollback();
}
conn.commit();
Tips:制作返回功能时,可以使用onclick=”javascript:history.go(-1)”
附DBUtil:
package com.buaa.student.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;public class DBUtil { private static String driver = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://localhost/test"; private static String user ="root"; private static String password ="1234"; private static Connection conn; private static PreparedStatement ps; private static ResultSet rs; public Connection openConnection() { try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return conn; } public ResultSet query(String sql, List<Object> pram) throws SQLException { ps = conn.prepareStatement(sql); if(pram != null && pram.size() > 0) { for(int i = 0; i < pram.size(); i++) { ps.setObject(i + 1, pram.get(i)); } } rs = ps.executeQuery(); return rs; } public void update(String sql, List<Object> pram) throws SQLException { ps = conn.prepareStatement(sql); if(pram != null && pram.size() > 0) { for(int i = 0; i < pram.size(); i++) { ps.setObject(i + 1, pram.get(i)); } } ps.executeUpdate(); } public void close() throws SQLException { if(rs != null) { rs.close(); } if(ps != null) { ps.close(); } if(conn != null) { conn.close(); } }}
- web初级分层
- web分层
- web初级
- web设计分层
- Java web分层设计
- web后台分层详解
- java web分层结构
- Web系统架构分层
- WEB项目分层详解
- web 分层思想:
- Java web开发分层
- Web开发分层思想
- WEB项目的分层结构
- Java Web项目包分层
- Web系统的架构分层
- java web分层的思想
- web项目的分层思想
- WEB项目的分层结构
- 对于事件的处理
- svn 停止,启动,重启
- Maven项目pom.xml配置详解
- 自定义控件-ViewPager篇
- 通知机制
- web初级分层
- istview优化带来的view重用怎么解决
- eclipse下如何关联android-support-v4.jar源码
- Makefile选项CFLAGS,LDFLAGS,LIBS
- 开源项目9GAG源码解析与Material改造(三)
- PAT甲级1001
- linux-文件系统管理03-LVM硬盘管理
- linux 查找svn相关目录
- 开发笔记 - 自定义推送声音