您的位置:首页 > 其它

maven mybatis 快速生成

2015-10-10 13:39 309 查看
1、添加pom.xml,获取依赖的jar包

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.bw30.aop</groupId>

<artifactId>feg</artifactId>

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version>

<name>feg Maven Webapp</name>

<url>http://maven.apache.org</url>

<properties>

<!-- MyBatis Generator -->

<!-- Java接口和实体类 -->

<targetJavaProject>${basedir}/src/main/java</targetJavaProject>

<targetMapperPackage>com.bw30.store.dao.mapper</targetMapperPackage>

<targetModelPackage>com.bw30.store.dao.model.pojo</targetModelPackage>

<!-- XML生成路径 -->

<targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>

<targetXMLPackage>com.bw30.store.dao.mapper</targetXMLPackage>

<mysql-connector-java.version>5.1.36</mysql-connector-java.version>

<mapper.version>3.1.2</mapper.version>

<compiler-source.version>1.6</compiler-source.version>

<compiler-target.version>1.6</compiler-target.version>

<!-- 依赖版本 -->

</properties>

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

<dependency>

<groupId>c3p0</groupId>

<artifactId>c3p0</artifactId>

<version>0.9.1.2</version>

</dependency>

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper</artifactId>

<version>3.2.2</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.3</version>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.3.0</version>

</dependency>

<dependency>

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

<artifactId>pagehelper</artifactId>

<version>4.0.1</version>

</dependency>

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper</artifactId>

<version>3.1.2</version>

</dependency>

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-api</artifactId>

<version>1.7.12</version>

</dependency>

<dependency>

<groupId>joda-time</groupId>

<artifactId>joda-time</artifactId>

<version>2.8.2</version>

</dependency>

<dependency>

<groupId>commons-lang</groupId>

<artifactId>commons-lang</artifactId>

<version>2.6</version>

</dependency>

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.16.6</version>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>javax.persistence</groupId>

<artifactId>persistence-api</artifactId>

<version>1.0</version>

</dependency>

<dependency>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-core</artifactId>

<version>1.3.2</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>4.2.1.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-tx</artifactId>

<version>4.2.1.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>4.2.1.RELEASE</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

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

<version>${mysql-connector-java.version}</version>

</dependency>

</dependencies>

<build>

<finalName>feg</finalName>

<plugins>

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>${compiler-source.version}</source>

<target>${compiler-target.version}</target>

</configuration>

</plugin>

<plugin>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-maven-plugin</artifactId>

<version>1.3.2</version>

<configuration>

<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>

<overwrite>true</overwrite>

<verbose>true</verbose>

</configuration>

<dependencies>

<dependency>

<groupId>mysql</groupId>

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

<version>${mysql-connector-java.version}</version>

</dependency>

<dependency>

<groupId>tk.mybatis</groupId>

<artifactId>mapper</artifactId>

<version>${mapper.version}</version>

</dependency>

</dependencies>

</plugin>

</plugins>

</build>

</project>

2.在src/main/resource 下面添加config.properties和generatorConfig.xml文件

config.properties 文件

mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin

mapper.Mapper = tk.mybatis.mapper.common.Mapper

generatorConfig.xml 文件

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

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

<properties resource="config.properties" />

<classPathEntry location="C:\Users\lijing\.m2\repository\mysql\mysql-connector-java\5.1.36\mysql-connector-java-5.1.36.jar" />

<context id="MySqlTables" targetRuntime="MyBatis3">

<property name="beginningDelimiter" value="`" />

<property name="endingDelimiter" value="`" />

<plugin type="${mapper.plugin}">

<property name="mappers" value="${mapper.Mapper}" />

<property name="caseSensitive" value="true" />

</plugin>

<commentGenerator>

<property name="suppressAllComments" value="true" />

</commentGenerator>

<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://172.16.10.233:3306/test" userId="scal_store" password="123456">

</jdbcConnection>

<javaTypeResolver>

<property name="forceBigDecimals" value="false" />

</javaTypeResolver>

<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}" />

<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}" />

<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />

<table tableName="STUDENT" domainObjectName="Student" alias="student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"

enableSelectByExample="false" selectByExampleQueryId="false">

</table>

</context>

</generatorConfiguration>

3 、写Student 类

package com.bw30.store.dao.model.pojo;

import javax.persistence.*;

import lombok.Data;

import lombok.NoArgsConstructor;

@Data

@NoArgsConstructor

@Table(name="Student")

public class Student {

@Column(name="id")

private String id;

@Column(name="name")

private String name;

@Column(name="age")

private Integer age;

@Column(name="address")

private String address;

}

4、运行maven

点击项目右键,选择Run,然后选择maven build .. ,输入mybatis-generator:generate

可以生成StudentMapper.java和StudentMapper.xml

5、spring-dao.xml 书写

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

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

xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
<!-- 读取配置文件 -->

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>classpath:/application-dao.properties</value>

</list>

</property>

<property name="fileEncoding" value="utf-8" />

</bean>

<!-- 数据源 -->

<bean id="dataSourceRW" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" >

<!-- 指定连接数据库的驱动 -->

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

<!-- 指定连接数据库的URL -->

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

<!-- 指定连接数据库的用户名 -->

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

<!-- 指定连接数据库的密码 -->

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

<!-- 指定连接数据库连接池的最大连接数 -->

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

<!-- 指定连接数据库连接池的最小连接数 -->

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

<!-- 指定连接数据库连接池的初始化连接数 -->

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

<!-- 指定连接数据库连接池的连接的最大空闲时间 -->

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

<!-- 当连接池连接耗尽时,客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。默认: 0 -->

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

<!--定义在从数据库获取新连接失败后重复尝试的次数。默认值: 30 小于等于0表示无限次 -->

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

<!--每60秒检查所有连接池中的空闲连接。默认值: 0,不检查 -->

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

<!--c3p0全局的PreparedStatements缓存的大小。如果maxStatements与maxStatementsPerConnection均为0,则缓存不生效,只要有一个不为0,则语句的缓存就能生效。默认值: 0 -->

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

</bean>

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

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

<property name="plugins">

<array>

<!-- 分页插件 -->

<bean class="com.github.pagehelper.PageHelper">

<property name="properties">

<value>

dialect=mysql

pageSizeZero=true

</value>

</property>

</bean>

<bean class="com.bw30.store.dao.interceptor.CameHumpInterceptor"></bean>

<bean class="com.bw30.store.dao.interceptor.PerformanceInterceptor"></bean>

<!-- mapper拦截器必须放最后 , 一行一个属性 -->

<bean class="tk.mybatis.mapper.mapperhelper.MapperInterceptor">

<property name="properties">

<value>

mappers=tk.mybatis.mapper.common.Mapper

ORDER=AFTER

</value>

</property>

</bean>

</array>

</property>

</bean>

<!-- Mapper注入 -->

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

<property name="basePackage" value="com.bw30.store.dao.mapper" />

</bean>

</beans>

application-dao.properties文件

jdbc.driver=com.mysql.jdbc.Driver

jdbc.jdbcUrl=jdbc:mysql://172.16.10.233:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull

jdbc.user=scal_store

jdbc.password=123456

jdbc.maxPoolSize=50

jdbc.minPoolSize=20

jdbc.initialPoolSize=1

jdbc.maxIdleTime=50

jdbc.checkoutTimeout=10000

jdbc.acquireRetryAttempts=3

jdbc.idleConnectionTestPeriod=50

jdbc.maxStatements=20

6、获取SqlSessionFactory

String resource = "applicationContext-dao.xml";

ClassPathXmlApplicationContext xmlApplicationContext = new ClassPathXmlApplicationContext(resource);

sqlSessionFactory = xmlApplicationContext.getBean("sqlSessionFactory", SqlSessionFactory.class);

SqlSession openSession = sqlSessionFactory.openSession();

StudentMapper mapper = openSession.getMapper(StudentMapper.class);

List<Student> selectByExample = mapper.selectByExample(new Example(Student.class));

System.out.println(selectByExample.size());

openSession.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: