使用 SSM 三大框架 用Spring的注解形式 做一个注册的案例
1.ssm所需要的jar包
2.web.xml的配置
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- spring容器的初始化 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 指定加载的配置文件 -->
<context-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
classpath*:applicationContext*.xml
</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app></span>
3.applicationContext.xml配置
<span style="font-size:18px;"><?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-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">
<!-- 采用注释的方式配置bean -->
<context:annotation-config/>
<!-- 配置要扫描的包 -->
<span style="color:#FF0000;"> <context:component-scan base-package="com.ssm.demo"></context:component-scan> </span>
<!-- 数据库配置文件位置 -->
<span style="color:#FF0000;"> <context:property-placeholder location="classpath:jdbc-mysql.properties"/></span>
<!-- 配置数据源DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
<!-- 配置mybitasSqlSessionFactoryBean -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<!-- 配置SqlSessionTemplate -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<!-- 事务配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
</beans></span>
4.mybatis-config.xml的配置
<span style="font-size:18px;"><?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>
<!-- 允许自动主键 -->
<settings>
<setting name="useGeneratedKeys" value="true"/>
</settings>
<!-- 起别名 -->
<typeAliases>
<span style="color:#CC0000;"> <typeAlias type="com.ssm.demo.pojo.Users" alias="users"/></span>
</typeAliases>
<mappers>
<span style="color:#CC0000;"><mapper resource="com/ssm/demo/persistence/IUsersMapper.xml"/></span>
</mappers>
</configuration></span>
5.jdbc-mysql.properties文件
<span style="font-size:18px;">jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=123456
</span>
6.Users的实体类
<span style="font-size:18px;">package com.ssm.demo.pojo;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Users implements Serializable {
private Integer id;
private String name;
private String pwd;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Users(String name, String pwd) {
super();
this.name = name;
this.pwd = pwd;
}
public Users() {
super();
}
}</span>
7.IUsersMapper接口类的方法
<span style="font-size:18px;">package com.ssm.demo.persistence;
import com.ssm.demo.pojo.Users;
public interface IUsersMapper {
//添加
public void inser_users(Users users);
}</span>
8.IUsersMapper.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">
<!-- 导入那个接口类 然后实现接口中方法 -->
<span style="color:#FF0000;"><mapper namespace="com.ssm.demo.persistence.IUsersMapper"></span>
<insert <span style="color:#FF0000;">id="inser_users"</span> <span style="color:#FF0000;">parameterType="users"</span> useGeneratedKeys="true">
insert into users(id,name,pwd) values(null,#{name},#{pwd})
</insert>
</mapper>
9,UsersDao类
<span style="font-size:18px;">@Repository("usersDao")
public class UsersDao implements IUsersDao{
@Autowired
private SqlSessionTemplate sqlSessionTemplate
public void insert_Users(Users users) {
System.out.println("Dao类的添加数据的方法");
//IUsersMapper iusersMapper=sqlSessionTemplate.getMapper(IUsersMapper.class);
//iusersMapper.inser_users(users);
sqlSessionTemplate.insert("inser_users", users)
}
}</span>
10.UsersServlet类
<span style="font-size:18px;">@Service("usersServlet")
public class UsersServlet implements IUsersServlet {
@Autowired
private IUsersDao usersDao;
public void insert_Users(Users users) {
usersDao.insert_Users(users);
}</span>
11 .Add.action类
<pre name="code" class="java"><span style="font-size:18px;">@Controller("Add")
public class Add_action {
@Autowired
private IUsersServlet usersServlet;
private String name;//用户名
private String pwd;//密码
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String execute(){
Users users=new Users(name, pwd);
usersServlet.insert_Users(users);
return "SCCE";
}
}</span>
12.struts.xml的配置
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<!-- Add就是Add_action中@Controller("Add")-->
<action name="AddUsers" class="Add"></span>
<result name="SCCE">/All.jsp</result>
</action>
</package>
</struts></span>
13.注册页面
<span style="font-size:18px;"><body>
<center>
<form action="AddUsers" method="post">
用户名:<input type="text" name="name"><br/>
密 码:<input type="text" name="pwd"><br/>
<input type="submit" value="添加">
</form>
</center>
</body></span>