-
导入依赖
<properties> <!--基本--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <!--spring--> <spring.version>5.2.0.RELEASE</spring.version> <juint.version>4.12</juint.version> <aspectjweaver.version>1.9.2</aspectjweaver.version> <aspectjrt.version>1.9.2</aspectjrt.version> <!--mybatis--> <mybatis.version>3.4.6</mybatis.version> <mybatis.spring.version>1.3.2</mybatis.spring.version> <HikariCP.version>3.3.1</HikariCP.version> <mysql.connector.java.version>5.1.38</mysql.connector.java.version> <!--辅助--> <lombok.version>1.18.12</lombok.version> <logback.classic.version>1.2.3</logback.classic.version> </properties> <dependencies> <!--spring的依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${juint.version}</version> </dependency> <!--aspect的依赖--> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectjweaver.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectjrt.version}</version> </dependency> <!--mybatis的依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${HikariCP.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.connector.java.version}</version> </dependency> <!--辅助性依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.classic.version}</version> </dependency> </dependencies>
-
导入jdbc配置文件和日志文件
-
jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///db1 jdbc.username=root jdbc.password=root
-
logback.xml
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <!--禁止logback默认显示的日志信息--> <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> <!--定义一个带颜色的控制台输出日志PATTERN--> <property name="CONSOLE_LOG_PATTERN" value="时间:%date{yyyy-MM-dd HH:mm:ss} 级别: %highlight(%-5level) 进程: %boldYellow(%thread) 类: %boldGreen(%logger) 信息: %msg%n"/> <!--定义一个不带颜色的文件日志输出格式,因为文件不能带颜色--> <property name="ERRINFOFILE_LOG_PATTERN" value="时间:%date{yyyy-MM-dd HH:mm:ss} 级别: %-5level 进程: %thread 类: %logger 信息: %msg%n"/> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> ${CONSOLE_LOG_PATTERN} </pattern> </layout> </appender> <root level="info"> <appender-ref ref="consoleLog" /> </root> </configuration>
-
-
分层写代码
-
bean
@Data public class User implements Serializable { private Integer id; private String name; private Integer age; private String address; }
-
mapper
public interface UserMapper { List<User> findAll(); }
-
mapper映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.ujiuye.mapper.UserMapper"> <select id="findAll" resultType="com.ujiuye.bean.User"> select * from t_user; </select> </mapper>
-
-
service
public interface IUserService { List<User> getAllUser(); } public class UserServiceImpl implements IUserService { private UserMapper userMapper; public void setUserMapper(UserMapper userMapper) { this.userMapper = userMapper; } @Override public List<User> getAllUser() { return userMapper.findAll(); } }
-
-
编写spring配置文件
<?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:mybatis="http://mybatis.org/schema/mybatis-spring" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd"> <!--配置数据源--> <context:property-placeholder location="classpath:jdbc.properties"/> <bean class="com.zaxxer.hikari.HikariDataSource" name="dataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!--sqlSessionFactory注入--> <bean class="org.mybatis.spring.SqlSessionFactoryBean" name="factory"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath:mappers/*Mapper.xml"/> <property name="typeAliasesPackage" value="com.ujiuye.bean"/> </bean> <!--mapper接口扫描--> <mybatis:scan base-package="com.ujiuye.mapper"/> <!--service注入:and di注入--> <bean class="com.ujiuye.service.impl.UserServiceImpl" name="userService" autowire="byType"/> </beans>
-
测试
@Slf4j @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class XmlAppTest { @Autowired private IUserService userService; @Test public void testGetAllUser() throws Exception{ List<User> list = userService.getAllUser(); for (User user : list) { log.info("{}",user); } } }
使用篇-spring+mybatis xml使用实例分享
最新推荐文章于 2024-09-13 22:48:29 发布