dao层是数据访问层,我们使用的是mybatis框架,所以我们需要添加mybatis相关依赖,以及数据库连接池依赖;
- pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>###dao层模块名称###</artifactId>
<groupId>###groupId名称###</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>###dao层模块名称###</artifactId>
<dependencies>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--mybatis整合spring-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!--mysql连接驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>###mysql版本###</version>
</dependency>
<!--数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
</dependencies>
<build>
<resources>
<!-- 配置资源文件路径,以及扫描类型-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
- 配置数据库连接信息
在src/main/resources/目录下新建一个 spring 文件夹,然后新建 dataSource.properties 文件,配置数据库连接信息
#驱动类
driverClassName = com.mysql.jdbc.Driver
#数据库url
mysql.url = jdbc:mysql://localhost:3306/###使用的数据库名称###?useSSL=false
#账户名和密码
mysql.userName = root
mysql.password = 123456
- 配置spring上下文
在spring目录下,新建一个 applicationContext-dao.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<!--扫描带有spring注解的方法或者类,将它们注册为bean-->
<context:component-scan base-package="cn.edu.zzti.cs.dao.**"/>
<!--
配置数据源,以及数据库连接池信息
-->
<context:property-placeholder location="classpath:/spring/dataSource.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"
p:driverClassName="${driverClassName}"
p:url="${mysql.url}"
p:username="${mysql.userName}"
p:password="${mysql.password}"/>
<!--配置sqlSessionBean-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--数据源即为上文配置的dataSource-->
<property name="dataSource" ref="dataSource" />
<!--**mapper.xml文件的扫描路径-->
<property name="mapperLocations" value="classpath:mappers/**/*.xml" />
<!-- 开启驼峰命名规则
<property name="configuration">
<bean class="org.apache.ibatis.session.Configuration">
<property name="mapUnderscoreToCamelCase" value="true"/>
</bean>
</property>
-->
<!--使用配置文件来加载mybatis的configuration,代替上文的配置-->
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
</bean>
<!--使用一个MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.edu.zzti.cs.dao" />
</bean>
<!--事务标准配置-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 事务注解驱动,标注@Transactional的类和方法将具有事务性 -->
<tx:annotation-driven/>
</beans>
- mybatis配置
我们可以使用一个xml配置文件去设置mybatis的一些 configuration ,在src/main/resources/目录下新建一个mybatis 文件夹,然后新建一个 mybatis-config.xml 文件
<?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>
<settings>
<!--开启驼峰命名规则-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
- 日志配置
- 在resources文件夹下新建一个log4j.properties
log4j.rootLogger=DEBUG,stdout
log4j.logger.com.ibatis=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss} %m%n
- 在resources文件夹下新建一个log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<logger name="org.springframework" level="WARN" />
<logger name="org.mybatis" level="WARN" />
<logger name="cn.edu.zzti.cs" level="DEBUG"/>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
- Sql语句
- 写在谁mapper.xml
通过sql语句标签的id来绑定接口的函数
2. 直接以注释的形式写在接口里(简单sql)