spring+springmvc+mybaties整合实例

spring+springmvc+mybaties即SSM框架整合在ecpliseee中开发:很么多西都是只有只有自己上手做,才会懂。昨晚熬了很久,才弄出来。也希望对新手有帮助!
下面整理一下思路:
关键是各个配置文件!
首先是正确的导入jar包;
然后建立项目包;


完成的功能:

用户首先是进入登陆界面,按照正确的用户名和密码登陆进去,用户分为admin和guest,admin登陆进去对学生进行CRUD,guest登陆进去显示一个页面。

admin用户:

guest用户



关键在于配置几个文件
1.applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="
			http://www.springframework.org/schema/beans
		 	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		 	
			http://www.springframework.org/schema/tx
		 	http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
		 	
			http://www.springframework.org/schema/aop
		 	http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		 	
			http://www.springframework.org/schema/context
		 	http://www.springframework.org/schema/context/spring-context-3.0.xsd
		 	
		 	"
	default-autowire="byName">
	<!-- 注入注解的支持 -->
	<context:annotation-config></context:annotation-config>

	<!-- 注入要扫描的组件包 -->
	<context:component-scan base-package="com.mapper"></context:component-scan>
	<context:component-scan base-package="com.biz"></context:component-scan>
	<context:component-scan base-package="com.action"></context:component-scan>
	
	<!-- 连接数据库的配置 -->
	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://localhost:3306/emp">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value=""></property>
	</bean>
	
	<!-- 注入mybaties的SqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="configLocation" value="classpath:mybaties-conf.xml"></property>
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	
	<!-- 配置mybaties的Mapper扫描包 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.mapper"></property>
	</bean>
	
	<!-- 配置JDBC的事务管理器 -->
	<bean id="txmanager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	
	<!-- 注解事务 -->
	<tx:annotation-driven  transaction-manager="txmanager"/>
</beans>

 
2.log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=error, stdout

#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug

### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL
log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug

### log schema export/update ###
#log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug

### log cache activity ###
#log4j.logger.org.hibernate.cache=debug

### log transaction activity
#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

 
3.mybaties-conf.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>	
	<mappers>	
		<mapper resource="com/mapper/StudentMapper.xml" />
		<mapper resource="com/mapper/UserMapper.xml"/>
	</mappers>
	
</configuration>

 
4.WEB-INF/springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
		
		http://www.springframework.org/schema/aop
		http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.0.xsd
		
		"
		default-autowire="byName"
		>
	<context:annotation-config></context:annotation-config>
	
	<context:component-scan base-package="com.action"></context:component-scan>		
	
	
</beans>


5.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
 <!-- Spring的启动配置 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 中文编码配置 -->
  <filter>
    <filter-name>GBK</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>
  </filter>
  <filter-mapping>
    <filter-name>GBK</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- Springmvc Servlet配置 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>springmvc</param-name>
      <param-value>/WEB-INF/springmvc-servlet.xml</param-value>
    </init-param>
  </servlet>
  <!-- springmvc映射 -->
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  <!-- 安全验证 -->
  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>
</web-app>

StudentMapper.xml文件:

<?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.mapper.IStudentMapper">
	<!-- Student返回类型映射声明 -->
	<resultMap type="com.po.Student" id="studentResultMap">
	    <id property="sid"  column="sid"></id>
	    <result  property="sname" column="sname"></result> 	
	    <result  property="sex" column="sex"></result> 	
	    <result  property="address" column="address"></result> 	
	</resultMap>
	<insert id="save" parameterType="com.po.Student">
		insert into student(sname,sex,address) values(#{sname},#{sex},#{address})
	</insert>
	
	<update id="update" parameterType="com.po.Student">
		update student set sname=#{sname},sex=#{sex},address=#{address} where sid=#{sid}
	</update>
	
	<delete id="delById" parameterType="java.lang.Integer">
		delete from  student where sid=#{sid}
	</delete>
 
	<select id="findById" parameterType="java.lang.Integer" resultType="com.po.Student">
		select * from student where sid=#{sid}
	</select>
	
	<select id="findAll" resultType="com.po.Student" >
		select * from student
	</select>
	
</mapper>

 UserMapper.xml文件:

<?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.mapper.IUserMapper">
	<select id="check" parameterType="com.po.User" resultType="com.po.User">
		select * from loginUser where uname=#{uname} and passwd=#{passwd}
	</select>
	
</mapper>

 数据库:

 

配置就说这么多,很代码最实际!提供给初次配置ssm的人员。

想要详细代码加qq:1242798356(私人)

 

posted @ 2017-05-19 11:11  懒得烧蛇吃  阅读(282)  评论(0编辑  收藏  举报