spring+springmvc+mybatis
来源:互联网 发布:化妆品淘宝店名字大全 编辑:程序博客网 时间:2024/06/05 02:28
前段时间写啦spring+springmvc+hibernate 与spring+struts2+hibernate 现在写下spring+springmvc+mybatis 都是现今的主流框架
代码块都是controller层加service层加Dao层
我先把代码讲解下,再说配置的问题 整合主要的还是看配置的编写
controller层代码:
package com.azj.controllers;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.azj.entity.S_student;
import com.azj.service.UserService;
//注解controller层
@Controller
@RequestMapping("/user")
public class userController {
//创建service层userService的beanID
@Resource
private UserService userService;
@RequestMapping("/user.do")
public String getOne(ModelMap model){
S_student s = userService.getOne(1);
System.out.println(s.toString());
model.addAttribute("name", "success");
return "index";
}
}
service层接口代码:
package com.azj.service;
import com.azj.entity.S_student;
public interface UserService {
S_student getOne(int id);
}
service层实现代码:
package com.azj.serviceimpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.azj.dao.UserDao;
import com.azj.entity.S_student;
import com.azj.service.UserService;
@Service("userService")
public class userServiceImple implements UserService{
@Resource
private UserDao userDao;
@Override
public S_student getOne(int id) {
return userDao.getOne(id);
}
}
dao层接口代码:
package com.azj.dao;
import com.azj.entity.S_student;
public interface UserDao {
S_student getOne(int id);
}
dao层实现代码:
package com.azj.daoimpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import com.azj.dao.UserDao;
import com.azj.entity.S_student;
import com.azj.mapper.UserMapper;
@Repository("userDao")
public class userDaoImpl implements UserDao{
@Resource(name = "userMapper")
private UserMapper userMapper;
public S_student getOne(int id) {
// TODO Auto-generated method stub
return userMapper.getOne(id);
}
}
sql语句映射接口代码
package com.azj.mapper;
import com.azj.entity.S_student;
public interface UserMapper {
S_student getOne(int id);//方法名对应user-mapper.xml里sql语句的ID 必须完全一致
}
user-mapper.xml代码
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--路径对应映射的接口类的全类名 sql语句里声明的ID必须与接口类的方法名一致 -->
<mapper namespace="com.azj.mapper.UserMapper">
<select id="getOne" resultType="student" parameterType="int">
select * from student where cid=#{id}
</select>
</mapper>
web.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>Mybatis</display-name>
<!-- 配置spring加mybatis相关配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-mybatis.xml</param-value>
</context-param>
<!-- 配置spring启动listener入口 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置log4j输出日志监听器 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 60s 检测日志配置 文件变化 -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!-- 配置Log4j监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 配置springMVC启动DispatcherServlete入口 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
springmvc的applicationContext-mvc.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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-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/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
<!-- 自动扫描的包名 -->
<context:component-scan base-package="com.**.controllers"/>
<!-- 默认的注解映射的支持,自动注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter -->
<mvc:annotation-driven />
<!-- 视图解释类 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
</beans>
spring+mybayis的spring-mybatis.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 自动扫描注解包 -->
<context:component-scan base-package="com.azj.*">
<!-- //扫描时跳过 @Controller 注解的JAVA类(控制器) -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 引入配置文件 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:appConfig.properties" />
</bean>
<!-- 启动AOP支持 -->
<!-- <aop:aspectj-autoproxy/> -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- 设置JDBC驱动名称 -->
<property name="driverClass" value="${jdbc.Adriver}" />
<!-- 设置JDBC连接URL -->
<property name="jdbcUrl" value="${jdbc.Aurl}" />
<!-- 设置数据库用户名 -->
<property name="user" value="${jdbc.Ausername}" />
<!-- 设置数据库密码 -->
<property name="password" value="${jdbc.Apassword}" />
<property name="maxPoolSize" value="20"></property>
<!-- 设置数据库连接池的最小连接数 -->
<property name="minPoolSize" value="5"></property>
<!-- 设置数据库连接池的初始化连接数 -->
<property name="initialPoolSize" value="5"></property>
<!--最大空闲时间,300秒内未使用则连接被丢弃。若为0则永不丢弃。-->
<property name="maxIdleTime">
<value>300</value>
</property>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。-->
<property name="acquireIncrement">
<value>5</value>
</property>
</bean>
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/azj/mapper/*.xml"></property>
<!--自动扫描实体类别名 -->
<property name="configLocation" value="classpath:mybatis.xml" />
</bean>
<!-- 自动扫描所有的Mapper接口与文件 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.azj.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
appConfig.properties相关连接设置:
jdbc.Adriver=com.mysql.jdbc.Driver
jdbc.Aurl=jdbc:mysql://localhost:3306/azj?useUnicode=true&characterEncoding=UTF-8
jdbc.Ausername=root
jdbc.Apassword=425193
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000
mybatis.xml相关mybatis的设置 比如实体类别名的设置:
<?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>
<!-- 别名 -->
<typeAliases>
<typeAlias type="com.azj.entity.S_student" alias="student" />
</typeAliases>
</configuration>
log4j.properties的日志文件设置:
log4j.rootLogger=DEBUG,INFO
###输出打印 ###
#log4j.appender.stdout = org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target = System.out
#log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.logger.freemarker=FATAL
###写入某日志文件 ###
log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFO.File =F:/eclipse_eexm/Mybatis/src/logs/ssm.log
log4j.appender.INFO.Encoding=utf-8
log4j.appender.INFO.Append = true
log4j.appender.INFO.Threshold = INFO
log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
log4j.appender.INFO.layout.ConversionPattern =[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n
# Control logging for other open source packages
# Changing the log level to DEBUG when debug
log4j.logger.org.springframework=WARN
# Changing the log level to DEBUG will display SQL Hibernate generated
#log4j.logger.org.hibernate=DEBUG
#log4j.logger.org.hibernate.SQL=DEBUG
#log4j.logger.org.hibernate.cache=DEBUG
#log4j.logger.net.sf.ehcache=ERROR
log4j.logger.com.xeg.service=DEBUG
以上便是全部配置及编码 不助之处 请自己查漏补缺!
模板下载地址:http://download.csdn.net/download/rainjm/10154042
- spring+springmvc+mybatis+maven
- springMVC+mybatis+spring+ehcache
- Spring-SpringMVC-Mybatis整合
- springmvc+spring+mybatis整合
- springmvc+mybatis+spring
- springmvc+spring+mybatis整合
- Spring+SpringMVC+Mybatis整合
- springmvc+mybatis+spring整合
- SpringMVC+Mybatis+Spring
- springmvc+spring+mybatis 整合
- mybatis+springmvc+spring 整合
- Spring+SpringMVC+MyBatis
- SpringMVC+Spring+Mybatis整合
- springmvc+mybatis+spring
- springmvc+spring+mybatis 整合
- springmvc+spring+mybatis整合
- Spring+Springmvc+MyBatis整合
- Spring+Springmvc+MyBatis整合
- /etc/mail.rc
- tensorflow的具体函数(api)理解-----计算机学报相关研读
- CSS 选择器中的特殊字符转义
- jsp 滚动加载后台数据
- n^n的末位数字
- spring+springmvc+mybatis
- TP5-获取客户端IP地址、退出登录
- 加密算法概述
- Orcle DBA学习笔记(角色,对象,权限,用户,索引,视图,同义词,序列)
- Web前端开发精品课HTML CSS JavaScript基础教程HTML部分知识点总结
- String、StringBuffer与StringBuilder之间区别
- 关于stm32的usart的接收中断使能问题
- 12月1日笔记
- JAVA常用的一些技巧(提高程序效率)