dao

Specify Ordering to a DAO Method

六月ゝ 毕业季﹏ 提交于 2020-01-23 12:54:14
问题 Suppose I have the following DAO interface: public interface CountryData { /** * Get All Countries. * * @return A Collection of Countries. * @throws DataAccessException Thrown if there is an error communicating with the data store. The Exception's * Cause Exception can usually be examined to determine the exact nature of the * error. * @since 1.0.0 */ public List<Country> getAll(); } Further suppose that I am abstracting this DAO because I might provide 2 implementations, one for a database

Specify Ordering to a DAO Method

对着背影说爱祢 提交于 2020-01-23 12:53:25
问题 Suppose I have the following DAO interface: public interface CountryData { /** * Get All Countries. * * @return A Collection of Countries. * @throws DataAccessException Thrown if there is an error communicating with the data store. The Exception's * Cause Exception can usually be examined to determine the exact nature of the * error. * @since 1.0.0 */ public List<Country> getAll(); } Further suppose that I am abstracting this DAO because I might provide 2 implementations, one for a database

Mybatis逆向工程构建项目实例.

人走茶凉 提交于 2020-01-23 03:30:32
Mybatis逆向工程构建项目实例. 2016/11/06更新: 因为有博友可能需要这份代码, 所以我就直接发到百度云上面和大家共享, 如果链接失效请大家留言提示即可. 下载地址: http://pan.baidu.com/s/1i57E8PR mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、pojo等) 有了sql表的结构后, 我们就可以利用逆向工程直接生成相应的Dao和JavaBean代码, 这样能够大大减少我们平时开发的工作量. 但是我还是觉得使用逆向工程局限性很大, 例如我们的逆向工程main方法只能执行一次, 如果再次执行就会继续生成相应的Dao和JavaBean, 除非我们把之前生成的全都删除. 这样对于代码的扩展性就不是很好, 如果我们需要对表结构进行修改, 那么我们就必须对生成的Dao和JavaBean进行一个个修改. 下面就直接进入开发阶段: 1, 数据库表结构 2,将逆向工程导入到Eclipse中 3,使用逆向工程 逆向工程目录结构: 这里的bean和dao都是使用逆向工程自动生成的两个包, 我们只需要将相应的Dao和Javabean拷贝到相应的project下即可. 看下生成Dao和Bean的代码: 1 import java.io

DAO模式封装

一世执手 提交于 2020-01-22 07:28:24
DAO模式 封装的方法 在连接数据库进行操作的时候,便于多次书写繁琐,所以将方法进行封装,然后进行调用,以达到便捷的功能。 DAO模式操作步骤 加载驱动 连接数据库 获取执行sql语句的对象statement 执行sql语句 (查询)遍历 释放资源 封装思路 定义一个JDBC工具类(名称自定义) 书写第一个方法用来加载驱动并获取连接对象 例如: public static Connection getConnection() throws ClassNotFoundException, SQLException { //加载驱动 Class.forName(driver); //获取连接对象 Connection con = DriverManager.getConnection(url,user,password); //返回连接对象 return con; } 书写第二个方法,用来获取执行sql语句的statement对象,这里使用PreparedStatement防止sql注入攻击 例如: public static PreparedStatement getStatement(Connection con,String sql,Object[] sqlParams) throws SQLException { //根据连接对象和sql语句获取statement对象

MS Access VBA trapping SQL Server Connection Error

☆樱花仙子☆ 提交于 2020-01-22 03:38:06
问题 I'm Having problems getting Access (2010) VBA to trap errors for connections to a SQL Server (2008) for linking tables. I'm getting an error and popup windows, presumably from the ODBC Driver? I want to suppress these and handle the error myself. I know about the DAO.errors and ADO.errors collections but these don't help if I can't get the error to call my error handler! The code below will give the error (unless you happen to have a table called myTable in a database called myDatabase on a

三层架构定义及代码(二)

邮差的信 提交于 2020-01-21 02:26:41
这是对上一个 三层架构定义及代码(二) 后面例子的完善, 之前例子只有增加功能,现在一步步完善全部功能,但是代码已经全部写完了,只能一步步整理整个过程。 目录 项目目录图示 一. 目的及实现情况 1.1. index.jsp 1.2. add.jsp 1.3. studentInfo.jsp 1.4. 基本流程 二. 项目接口与实现类规范 2.1. 基本规范 2.2. IStudentDao.java接口 三. IStudentService.java接口 四. Servlet类实现 五. Servlet类功能验证(不需前端) 六. 流程解释 七. 具体代码 7.1. index.jsp 7.2. studentInfo.jsp 7.3. add.jsp 7.4. AddStudentServlet.java 7.5. DeleteStudentServlet .java 7.6. QueryAllStudentServlet .java 7.7. QueryStudentBySnoServlet .java 7.8. UpdateStudentServlet .java 7.9. StudentDaoImpl .java 7.10. StudentServiceImpl .java 7.11. Student .java 项目目录图示 一. 目的及实现情况

Spring boot配置注意事项

≯℡__Kan透↙ 提交于 2020-01-21 00:34:46
SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描! “Application类”是指SpringBoot项目入口类。这个类的位置很关键: 如果Application类所在的包为:com.boot.app,则只会扫描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,则不会被扫描! 即, 把Application类放到dao、service所在包的上级,com.boot.Application 知道这一点非常关键 还有spring boot集成了datasource类,如果写测试类不引用的话,在Application里面加下面的配置 @SpringBootApplication(exclude={DataSourceAutoConfiguration. class}) @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration. class}) 来源: https://www.cnblogs.com/LEEEEEASON/p/7122328.html

如何在抽象类中注入bean

一个人想着一个人 提交于 2020-01-20 19:04:48
抽象类是无法实例化的,因此无法使用@Service等这种注解直接将抽象类交给ioc容器管理,但是项目中往往需要有很多子类公用抽象父类的模板方法,那么怎么实现呢? 错误演示 1、抽象类 @Component public abstract class BaseService { @Autowired Dao dao; } 2、子类 @Component public class MyService extends BaseService{ public void print(){ //运行时为null System.out.print(dao.toString()); } } 在我们实例化子类对象的时候,抽象父类不能实例化,因为spring注入的是实例对象,而不是类,所以spring不会将dao自动装配注入到一个实例中。 解决方法 一、使用ApplicationContextAware 1、工程图 jar包只需要引入spring-context即可。 2、ApplicationContextUtil package spring.chapter1.utils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import

DAO层使用泛型的两种方式

梦想与她 提交于 2020-01-19 09:54:50
1.DAO层使用泛型类,主要是定义一些通用的增删改查,然后其他DAO的类都来继承该类,通过构造方法将class对象传给该泛型类 定义泛型接口 package sanitation.dao;import java.util.List;/** * * @param <T> */public interface GenericDAO <T>{ /** * 通过ID获得实体对象 * * @param id实体对象的标识符 * @return 该主键值对应的实体对象 */ T findById(int id); /** * 将实体对象持久化 * * @param entity 需要进行持久化操作的实体对象 * @return 持久化的实体对象 */ T makePersitent(T entity); /** * 将实体变为瞬态 * * @param entity需要转变为瞬态的实体对象 */ void makeTransient(T entity); /** * 将一系列的实体变为瞬态,使用本地sql * * @param hql */ void makeTransientByIds(String sql); /** * * 使用hql语句进行分页操作 * * @param hql * @param offset 第一条记录索引 * @param pageSize 每页需要显示的记录数 *

java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl

喜你入骨 提交于 2020-01-19 09:19:23
在 spring + hibernate 的web项目中,处理数据层通常会使用Spring框架提供的HibernateTemplate类提供的方法。通常的用法是每一个实体类对应的去写DAO层的接口和实现类。每个实现类中都写hibernateTemp.save(entity)、hibernateTemp.update(entity)、hibernateTemp.get(id)...这样写固然没错,但存在着大量的重复代码。所以懒惰的程序员烦了,他们要写一个通用的实现类来解决这个问题,让DAO层解放出来。如果有特殊的需要则在实现类中写个方法去处理,没有特殊的需要那么我们就不用在写DAO层的代码了。 下面是我写的一个通用DAO层接口和实现类,初次写这种通用型的代码可能会有很多不到位的地方,如果您看到了,请在评论中不吝赐教,谢谢! BaseDao. Java package org.lxl.mr.common.base.db; import java.util.List; /** * 通用数据层接口 * @author liuXueLiang * @param <Entity> * @param <PK> */ public interface BaseDao<Entity,PK> { /** * 增加 * @param entity */ public void save(Entity