java的分层开发
既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的?
1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体.
2.数据访问对象(data access object)主要包含两个java源文件,一个是BaseBao,还有一个是所需要查询表的接口

- package cn.news.dao;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.junit.Test;
- /**
- * 数据访问工具类
- * @version 1.1
- * @author happy
- *
- */
- public class BaseDao {
- private static final String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
- private static final String url="jdbc:sqlserver://localhost:1433;DataBaseName=s2223";
- private static final String username="sa";
- private static final String pwd="6375196";
- Connection con=null;
- PreparedStatement ps=null;
- ResultSet rs=null;
- //01.写一个用户获取到一个连接对象的方法,方法的返回值是Connection类型
- /**
- * 01.写一个用户获取到一个连接对象的方法,方法的返回值是Connection类型
- * @return 连接对象
- * @throws Exception
- */
- public Connection getConnection() throws Exception{
- Class.forName(driver);
- //什么条件下,构建connection对象
- if (con==null||con.isClosed()) {
- con=DriverManager.getConnection(url, username, pwd);
- }
- //同志们碰到一个
- return con;
- }
- //单元测试
- //java junit
- @Test
- public void testQuery() throws Exception{
- ResultSet rs = executeQuery("select * from student");
- if(rs!=null){
- while (rs.next()) {
- String name = rs.getString("sname");
- System.out.println(name);
- }
- }
- }
- //测试添加
- @Test
- public void testUpdate() throws Exception{
- int count= executeUpdate("update student set sname='大强' where sname='黄强'");
- System.out.println(count);
- }
- //执行查询操作 目的:返回一个读取器
- /**
- * 执行查询操作 目的:返回一个读取器
- * @param sql sql语句
- * @param objs 参数列表
- * @return 读取器对象
- * @throws Exception
- */
- public ResultSet executeQuery(String sql,Object... objs) throws Exception{
- con=getConnection();
- ps = con.prepareStatement(sql);
- for (int i = 0; i < objs.length; i++) {
- ps.setObject(i+1, objs[i]);
- }
- rs= ps.executeQuery();
- return rs;
- }
- //执行增删该操作
- /**
- * 执行增删该操作
- * @param sql sql语句
- * @param objs 参数列表
- * @return 受影响行数
- * @throws Exception
- */
- public int executeUpdate(String sql,Object... objs) throws Exception{
- con=getConnection();
- ps = con.prepareStatement(sql);
- for (int i = 0; i < objs.length; i++) {
- ps.setObject(i+1, objs[i]);
- }
- int count = ps.executeUpdate();
- return count;
- }
- //2.回收连接资源
- /**
- * 回收连接资源
- * @throws Exception
- */
- public void closeAll() throws Exception{
- if(rs!=null){
- rs.close();
- }
- if (ps!=null) {
- ps.close();
- }
- if(con!=null){
- con.close();
- }
- }
- }
java的分层开发的更多相关文章
- java分层开发
既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的? 1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体. 2.数据访问对象(data acces ...
- java web 整合开发王者归来学习总结
第一章java web开发概述 胖客户端CS,瘦客户端BS(Browser) 网址请求---服务器处理响应-----返回结果-----浏览器显示 CGI可以动态生成页面,但是每个进程都要启动一个CGI ...
- 【JAVA EE企业级开发四步走完全攻略】
本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划,单个发blog比较零散,所以整理此索引,决定以后每发一季JAVA EE blog后会 ...
- 第一章 Java Web应用开发技术
Java Web应用开发是基于JavaEE(JavaEnterprise Edition)框架的,而JavaEE是建立在Java平台上的企业级应用解决方案.JavaEES框架提供的Web开发技术主要支 ...
- 在做java 的web开发,为什么要使用框架
现在做项目都会使用框架,现在很常见的框架就是SSH(Struts+SpringMVC+spring+hibernate),SSM(Struts/springMVC+Spring+Hibernate), ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Java Spring的特点和优点
Spring 是另一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力. Spring 是分层的 Java SE/EE full-stack 轻量级开源框架, ...
- 俯瞰 Java 服务端开发
原文首发于 github ,欢迎 star . Java 服务端开发是一个非常宽广的领域,要概括其全貌,即使是几本书也讲不完,该文将会提到许多的技术及工具,但不会深入去讲解,旨在以一个俯瞰的视角去探寻 ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Java和WebSocket开发网页聊天室
小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...
随机推荐
- C#导入Exel
; try { ]; string[] NoExPrentFile = new string[] { "xls", "xlsx" }; ] || fileTyp ...
- SolrCloud的官方配置方式
前面写过生产过程中的SolrCloud集群配置,实际上官方给出的是免安装配置,启动时采用命令行参数的方式启动,这样相对简单,并且官方文档也给出了外部Zookeeper的配置,和前面说的基本一致,这个不 ...
- 6.nodejs权威指南--进程
1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...
- App主界面Tab实现方法
ViewPager + FragmentPagerAdapter 这里模仿下微信APP界面的实现 国际惯例,先看下效果图: activity_main.xml 布局文件: <?xml ver ...
- Gson解析复杂的json数据
最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的json解析方法即JsonObject ...
- 在Win7下使用sphinx-build建立开源软件文档
最近想看看odoo的使用文档,在线看不方便,而且还没有提供离线文档下载,由于是开源项目,此项目托管在Github上,于是就有了想通过Github把文档git下来,可是git下来的文档是.rst文件,无 ...
- 20145213 《Java程序设计》实验四 Android开发基础
20145213 <Java程序设计>实验四 Android开发基础 说在前面的话 不同以往实验,对于这次实验具体内容我是比较茫然的.因为点我,打开实验四的链接居然能飘出一股熟悉的味道,这 ...
- [Android Pro] Android Fragment getActivity返回null解决
overide FragmentActivity onSaveInstanceState method like this. @Override public void onSaveInstance ...
- ubuntu下deb包的安装方法
ubuntu下deb包的安装方法 简介 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...
- python基础——访问限制
python基础——访问限制 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还 ...