SpringMVC整合mybatis实例代码
发布时间:2020-05-23 05:48:31 所属栏目:Java 来源:互联网
导读:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。
|
MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 一、逆向工程生成基础信息
<?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>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3307/mybatis" userId="root"
password="jalja">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.jalja.springmvc_mybatis.model.pojo"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.jalja.springmvc_mybatis.mapper"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.jalja.springmvc_mybatis.mapper"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table tableName="items"></table>
<table tableName="orders"></table>
<table tableName="orderdetail"></table>
<table tableName="user"></table>
</context>
</generatorConfiguration>
public static void main(String[] arhs) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src.main.resources/generator.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
myBatisGenerator.generate(null);
}
二、springMVC与Mybatis整合 各个配置文件 1.项目结构 2、各个文件的核心代码 a.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring/applicationContext-*.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>3000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- post请求乱码 --> <filter> <filter-name>SpringEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>SpringEncodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <!-- springMvc前端控制器 --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- contextConfigLocation加载 springMvc的配置文件(处理器适配器 ,映射器) 如果不配置默认加载的是 /WEB-INF/servlet名称-servlet.xml(springMvc-servlet.xml) --> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc</servlet-name> <!-- 1、*.do :DispatcherServlet 解析所有 *.do 结尾的访问 2、 / :DispatcherServlet解析所有请求(包括静态资源) 这种配置可以实现restful风格的url 3、/*: 这种配置最终要转发到一个jsp页面 --> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- springMvc前端控制器 RestFul <servlet> <servlet-name>springMvc_rest</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext-springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMvc_rest</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> --> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> b、config/mybatis/applicationContext-mybatis.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> <!-- 各个属性 properties: setting(全局配置参数配置):mybatis运行时可以调整一些运行参数 例如:开启二级缓存、开启延迟加载 typeAliases(类型别名): 在mapper.xml中定义parameterType 参数类型 resultType 返回类型时 需要指定类型的路径 不方便开发,我们开一针对 这些类型给其指定别名 typeHandler(类型处理器):在mybatis 中是通过typeHandler 完成 jdbc类型与java类型的转化 ,mybatis 提供的处理器已可满足 开发需求 objectFactory(对象工厂): plugins(插件): environments(环境集合属性对象): environment(环境子属性对象): transactionManager(事务管理): dataSource(数据源): mappers(映射器): --> <!-- 对事务的管理和连接池的配置 --> <!-- 延迟加载 --> <settings> <!-- 打开延迟加载 --> <setting name="lazyLoadingEnabled" value="true"/> <!-- 积极加载改为消极加载 --> <setting name="aggressiveLazyLoading" value="false"/> <!-- 开启二级缓存 --> <setting name="cacheEnabled" value="true"/> </settings> <typeAliases> <!-- 针对单个别名定义 --> <!-- <typeAlias type="com.jalja.myBatis.model.User" alias="user"/> --> <!--批量别名的定义 mybatis 自动扫描包中的类 别名就是类名(首字母大小写都可以) --> <package name="com.jalja.springmvc_mybatis.model.pojo"/> <package name="com.jalja.springmvc_mybatis.model.custom"/> <package name="com.jalja.springmvc_mybatis.model.vo"/> </typeAliases> <!--加载映射文件 --> <!-- <mappers> <mapper resource="com/jalja/spring_mybatis/mapper/UserMapper.xml"/> --> <!-- 和spring整合后 可以去掉 <package name="com.jalja.spring_mybatis.mapper"/> </mappers>--> </configuration> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
