持久层的具体实现

1.如果是maven下使用,需要在pom.xml中导入数据库包


<dependencies>

<dependency>

<groupId>com.yaorange.sbuy</groupId>

<artifactId>sbuy-manager-pojo</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

<!-- Mybatis -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

</dependency>

<!--mybatis与spring连接包-->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

</dependency>

<!--分页插件-->

<dependency>

<groupId>com.github.miemiedev</groupId>

<artifactId>mybatis-paginator</artifactId>

</dependency>

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

</dependency>

<!-- MySql -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<!-- 连接池 -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

</dependency>

</dependencies>

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->

<build>

<resources>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.xml</include>

</includes>

<filtering>false</filtering>

</resource>

</resources>

</build>

2.配置数据库类型(可不配)


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<plugins>

<!-- com.github.pagehelper为PageHelper类所在包名 -->

<plugin interceptor="com.github.pagehelper.PageHelper">

<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->

<property name="dialect" value="mysql"/>

</plugin>

</plugins>

</configuration>

3. db.properties


jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/db_sbuy?characterEncoding=utf-8

jdbc.username=root

jdbc.password=123

4. applicationContext-dao.xml


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

<!-- 加载配置文件 -->

<context:property-placeholder location="classpath:properties/*.properties" />

<!-- 数据库连接池 -->

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"

destroy-method="close">

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

<property name="driverClassName" value="${jdbc.driver}" />

<property name="maxActive" value="10" />

<property name="minIdle" value="5" />

</bean>

<!-- 配置sqlsessionFactory -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property>

<property name="dataSource" ref="dataSource"></property>

</bean>

<!-- 配置扫描包,加载mapper代理对象 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="com.yaorange.sbuy.mapper"></property>

</bean>

</beans>

<!-- 配置扫描包,加载mapper代理对象 -->

反向生成实现类

接口类中方法名于mapper中id一致即可

时间: 2024-10-06 00:29:11

持久层的具体实现的相关文章

业务层将持久层方法调用

主要业务层和持久层的联系 员工实体Bean package com.project.bean; import java.sql.Date; /** * 员工信息实体类 * @author 45470 * */ public class EmployeeBean { /**员工id*/ private int empId; /**员工登录名*/ private String empAccount; /**员工登录密码*/ private String empPwd="123456"; /

面向对象——三层架构(表现层、业务层、持久层)

三层架构:即表现层.业务层.持久层. ① 持久层:采用DAO模式,建立实体类和数据库表映射(ORM映射).也就是哪个类对应哪个表,哪个属性对应哪个列.持久层 的目的就是,完成对象数据和关系数据的转换. ② 业务层:采用事务脚本模式.将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库更新操作,即保证同时成 功或同时失败.避免部分成功部分失败引起的数据混乱操作. ③ 表现层:采用MVC模式. M称为模型,也就是实体类.用于数据的封装和数据的传输. V为视图,也就是GUI组件,用于数据的

UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?

选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软推荐使用Sqlite吧! 2,简单!就只有一个类库没有多余的参照什么的.不像其他数据库还得做复杂配置什么的麻烦! 3,不需要数据库服务,数据服务和客户都在同一个进程里面.如下图: 4,作为存储系统它只支持一个用户一个数据实体. 5,跨平台跨结构,这个好! Sqlite主要使用内容 如果想充分使用好S

c++ 数据持久层研究(一)

C++ORM框架自动生成代码数据库 用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用. 用过C#的同学们也都知道通过CodeSmith软件,生成微软的PetShop分层模式,达到数据持久层的代码,也非常方便. 那么我们用C++的怎么办,我们也是面向对象编程,在工作中也有数据库需要管理.我们需要完全手工去写那些重复性的代码吗? 特别我现

MyBatis持久层框架使用总结

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 2013年11月迁移到Github,MyBatis的Github地址:https://github.com/mybatis/mybatis-3. iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Dat

数据持久层

1.数据持久化 数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称. 数据模型可以是任何数据结构或对象模型, 存储模型可以是关系模型.XML.二进制流等. cmp和Hibernate只是对象模型到关系模型之间转换的不同实现. 数据持久化的好处: 1.程序代码重用性强,即使更换数据库,只需要更改配置文件,不必重写程序代码. 2.业务逻辑代码可读性强,在代码中不会有大量的SQL语言,提高程序的可读性. 3.持久化技术可以自动优化,以减少对数据库的访问量,提高程

持久层框架hibernate相关概念

hibernate为全自动的持久层框架(framework): 1.作用:把内存中的活跃对象永远的保存在关系型数据库中. 2.O/R/M原理:O-->object 对象,R---> relational关系型数据库,M--->mapping映射 为了解决应用程序中的对象和关系型数据库中的表的不匹配而提出的一个解决方案. 3.新版本hibernate4中怎么得到session工厂从而创建连接对象 Configuration cfg = new Configuration().configu

Java数据持久层框架 MyBatis

MyBatis 详细介绍 MyBatis 的前身就是 iBatis .是一个数据持久层(ORM)框架. iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的 JPetStore实例. 源码来源:minglisoft.cn/technology

一种好的持久层开发方法——建立BaseDao和BaseDaoImpl

使用hibernate开发持久层时,我们会发现:虽然entity类的含义和需求不同,其对应的Dao层类对应的方法也是不同的.但是有许多方法操作确实相同的.比如实体的增加,删除,修改更新,以及许多常用的查询方法.这些都是可复用的.因此可以把这些操作写在一个BaseDao中,其他的dao都继承于这个Dao.每个子dao只写与自己的业务相关的方法,这样可以提高代码的复用,增加了开发效率,也方便今后可能的扩展.下面是我在我的项目中使用的BaseDao和BaseDaoImpl的使用方法.仅供参考: Bas

第五章 征服数据库(Spring对DB的使用)——开发持久层

本章内容: 定义Spring对数据库访问的支持 配置数据库资源 使用Spring的JDBC模板 在几乎所有的企业级应用中,都需要构建数据持久层.现在意义上的数据持久层是指把对象或者数据保存到数据库中,以及从数据库中取出数据. Spring提供了一组数据访问框架,它集成了多种数据访问技术.不管是JDBC.iBATIS还是Hibernate. ? 一.Spring的数据访问哲学 Spring开发者一直坚持的一个目标之一就是:允许开发人员在开发应用软件时能够遵循面向对象原则的"针对接口编程"