目录
DAO由两部分组成:" >DAO由两部分组成:
DAO包下面分4个包:" >DAO包下面分4个包:
代码实现:" >代码实现:
首页 数据库 mysql教程 JDBCDAO优化

JDBCDAO优化

Jun 07, 2016 pm 02:50 PM
access dao data obj 优化

DAO(Data Access Object)数据访问对象是一个数据访问接口,处理业务逻辑与数据库资源之间的关系。 DAO由两部分组成: 1.Data Access:数据访问,实现数据访问与业务逻辑的分离。 2.Action Domain Object:领域对象,业务数据对象的封装。 DAO模式的实现: 1.DA



DAO(Data Access Object)数据访问对象是一个数据访问接口,处理业务逻辑与数据库资源之间的关系。


DAO由两部分组成:

1.Data Access:数据访问,实现数据访问与业务逻辑的分离。

2.Action Domain Object:领域对象,业务数据对象的封装。


DAO模式的实现:

1.DAO的工厂类:构造DAO的实例对象。

2.DAO的接口:提供接口抽象方法,引导子类实现。

3.DAO的实现子类:实现接口方法。

4.数据对象:封装数据。


DAO包下面分4个包:

1.dao包:存放抽象接口的方法。

2.dao.impl包:存放实现子类的方法。

3.pojo包:存放封装的数据信息。

4.util包:存放工厂类。


代码实现:


父类接口:

public interface TeacherDao {//父类接口
	public boolean insert(Teacherpojo tea) throws Exception;
	public boolean delete(int id) throws Exception;
	public boolean update(Teacherpojo tea) throws Exception;
	public List<teacherpojo> query() throws Exception;
	public Teacherpojo queryById(int id) throws Exception;
}</teacherpojo>
登录后复制


具体实现语句预制的方法:

public static int update(String sql,Object...objects) throws Exception {
		Connection con = SQLUtil.getConnection();//获取连接
		PreparedStatement ps = con.prepareStatement(sql);//获取预制对象
		for (int i=0;i<objects.length ps.setobject objects return ps.executeupdate><br>
<br>

<br>
子类实现(添加一条数据):
<p><span style="font-size:24px"></span></p>
<pre name="code" class="java">public boolean insert(Teacherpojo tea) throws Exception {
		String sql = "insert into teacher (id,name,gender,age,job,creatDate) "
				+ "values(?,?,?,?,?,?)";
		int result = SQLTemplete.update(sql, tea.getId(),tea.getName(),
				tea.getGender(),tea.getAge(),tea.getJob(),tea.getCreatdate());
		System.out.println("执行完成...");
		if(result > 0){
			return true;
		}
		return false;
	}
登录后复制

结果图示:



删除一条数据:

public boolean delete(int id) throws Exception {
		String sql = "delete from teacher where id=?";
		int result = SQLTemplete.update(sql, id);
		System.out.println("执行完成...");
		if( result > 0 ){
			return true;
		}
		return false;
	}
登录后复制

删除结果图示:





修改一条数据:

public boolean update(Teacherpojo tea) throws Exception {
		String sql = "update teacher set "
				+ "id=?,name=?,gender=?,age=?,job=?,creatDate=? where id=?";
		int result = SQLTemplete.update(sql, tea.getId(),tea.getName(),tea.getGender(),
				tea.getAge(),tea.getJob(),tea.getCreatdate(),tea.getId());
		System.out.println("执行完成...");
		if( result > 0 ){
			return true;
		}
		return false;
	}
登录后复制

添加结果图示:




查找所有的数据,返回一个数据队列:

public ArrayList<teacherpojo> query() throws SQLException {
		Connection con = SQLUtil.getConnection();
		Statement state = con.createStatement();
		String sql = "select * from teacher";
		ResultSet rs = state.executeQuery(sql);
		ArrayList<teacherpojo> list = new ArrayList<teacherpojo>();
		Teacherpojo tp ;
		while(rs.next()){
			tp = new Teacherpojo();
			tp.setId(rs.getInt("id"));
			tp.setName(rs.getString("name"));
			tp.setAge(rs.getInt("age"));
			tp.setGender(rs.getString("gender"));
			tp.setJob(rs.getString("job"));
			tp.setCreatdate(rs.getString("creatDate"));
			list.add(tp);
		}
		System.out.println("执行完成...");
		return list;
	}</teacherpojo></teacherpojo></teacherpojo>
登录后复制

结果图示:



很多时候并不是要查询所有的结果,要的是部分条件查询结果,所有可以写一个预制查找的方法,代码如下:


public static ResultSet query(String sql,Object...objects) throws Exception{
		Connection con = SQLUtil.getConnection();
		PreparedStatement ps = con.prepareStatement(sql);
		for (int i = 0; i <br>
结果图示,我只搜索关于gender为man的数据:
<p><span style="font-size:24px"><img src="/static/imghw/default1.png" data-src="http://img.blog.csdn.net/20160506200506812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" class="lazy" alt=""><br>
</span></p>
<p><span style="font-size:24px"><br>
</span></p>
<p><span style="font-size:24px"><br>
</span></p>
<p><span style="font-size:24px"><br>
</span></p>
<p><span style="font-size:24px"><br>
</span></p>
   








登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

c#多线程的好处有哪些 c#多线程的好处有哪些 Apr 03, 2025 pm 02:51 PM

多线程的好处在于能提升性能和资源利用率,尤其适用于处理大量数据或执行耗时操作。它允许同时执行多个任务,提高效率。然而,线程过多会导致性能下降,因此需要根据 CPU 核心数和任务特性谨慎选择线程数。另外,多线程编程涉及死锁和竞态条件等挑战,需要使用同步机制解决,需要具备扎实的并发编程知识,权衡利弊并谨慎使用。

无法以 root 身份登录 mysql 无法以 root 身份登录 mysql Apr 08, 2025 pm 04:54 PM

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

sql if语句怎么用 sql if语句怎么用 Apr 09, 2025 pm 06:12 PM

SQL IF 语句用于有条件地执行 SQL 语句,语法为: IF (condition) THEN {语句} ELSE {语句} END IF;。条件可以是任何有效的 SQL 表达式,如果条件为真,执行 THEN 子句;如果条件为假,执行 ELSE 子句。IF 语句可以嵌套,允许更复杂的条件检查。

在Node环境中如何避免第三方接口返回403错误? 在Node环境中如何避免第三方接口返回403错误? Apr 01, 2025 pm 02:03 PM

Node环境下如何避免第三方接口返回403错误在使用Node.js调用第三方网站接口时,有时会遇到返回403错误的问题。�...

如何解决Vue Axios跨域导致的&quot;Network Error&quot; 如何解决Vue Axios跨域导致的&quot;Network Error&quot; Apr 07, 2025 pm 10:27 PM

解决 Vue Axios 跨域问题的方法包括:服务器端配置 CORS 头使用 Axios 代理使用 JSONP使用 WebSocket使用 CORS 插件

EasyWechat 5.5中如何高效获取component_verify_ticket? EasyWechat 5.5中如何高效获取component_verify_ticket? Apr 01, 2025 pm 12:42 PM

在EasyWechat5.5中获取ComponentVerify...

如何利用Debian Apache日志提升网站性能 如何利用Debian Apache日志提升网站性能 Apr 12, 2025 pm 11:36 PM

本文将阐述如何通过分析Debian系统下的Apache日志来提升网站性能。一、日志分析基础Apache日志记录了所有HTTP请求的详细信息,包括IP地址、时间戳、请求URL、HTTP方法和响应代码等。在Debian系统中,这些日志通常位于/var/log/apache2/access.log和/var/log/apache2/error.log目录下。理解日志结构是有效分析的第一步。二、日志分析工具您可以使用多种工具分析Apache日志:命令行工具:grep、awk、sed等命令行工具可

apache怎么配置zend apache怎么配置zend Apr 13, 2025 pm 12:57 PM

如何在 Apache 中配置 Zend?在 Apache Web 服务器中配置 Zend Framework 的步骤如下:安装 Zend Framework 并解压到 Web 服务器目录中。创建 .htaccess 文件。创建 Zend 应用程序目录并添加 index.php 文件。配置 Zend 应用程序(application.ini)。重新启动 Apache Web 服务器。

See all articles