公司面试要我做一个struts2+Myibatis整合的实例user表信息给出,有增删改查的操作。
开发技术 struts2+ibatis+spring jsp+java
一.创建web项目导入必需的jar文件
二.创建并编写配置文件,配置文件比较多。可能有点繁琐。
1.创建并编写ApplicationContext.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"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <!--配置数据源属性文件 -->
- <bean id="propertyConfigurer"
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="location">
- <value>/WEB-INF/configs/sqlServer.properties</value>
- </property>
- </bean>
- <!--配置数据源 -->
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName">
- <value>${jdbc.driver}</value>
- </property>
- <property name="url">
- <value>${jdbc.url}</value>
- </property>
- <property name="username">
- <value>${jdbc.user}</value>
- </property>
- <property name="password">
- <value>${jdbc.pwd}</value>
- </property>
- </bean>
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="configLocation" value="classpath:com/test/sqlMapper/mybatis_config.xml" />
- <property name="dataSource" ref="dataSource" />
- </bean>
- <bean id="loginDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
- <property name="mapperInterface" value="com.test.dao.ILoginDao"/>
- <property name="sqlSessionFactory" ref="sqlSessionFactory" />
- </bean>
- <bean id="loginAction" class="com.test.action.LoginAction">
- <property name="loginDao" ref="loginDao"></property>
- </bean>
- </beans>
2.配置数据源当然要有个数据源 属性文件了sqlServer.properties
- jdbcjdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=login
- jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
- jdbc.user=sa
- jdbc.pwd=
我的数据库密码为空pwd当然也要空了。
3.mybatis的配置文件mybatis_config.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>
- <typeAliases>
- <typeAlias alias="userinfo" type="com.test.entity.UserInfo"/>
- </typeAliases>
- <mappers>
- <mapper resource="com/test/sqlMapper/loginMapper.xml"/>
- </mappers>
- </configuration>
4.在mybatis_config.xml中的中有个映射文件loginMapper.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.test.dao.ILoginDao">
- <resultMap type="userinfo" id="userMap">
- <id property="id" column="id"/>
- <result property="username" column="username"/>
- <result property="password" column="password"/>
- </resultMap>
- <select id="getUser" parameterType="String" resultMap="userMap">
- select * from userinfo where username=#{userName}
- </select>
- </mapper>
5.接下来就是web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
- </context-param>
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </web-app>
好了所有的配置文件都已经配置好了
三.该写JAVA文件了 接口,实体辅助类,还有action
1.写接口 ILoginDao.java
- package com.test.dao;
- import java.util.List;
- public interface ILoginDao {
- public List getUser(String userName);
- }
2.实体辅助类UserInfo.java
- package com.test.entity;
- public class UserInfo {
- private int id;
- private String username;
- private String password;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- }
3.action 类 LoginAction.java
- package com.test.action;
- import java.util.List;
- import com.test.dao.ILoginDao;
- public class LoginAction {
- private ILoginDao loginDao;
- private String username;
- private String password;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public ILoginDao getLoginDao() {
- return loginDao;
- }
- public void setLoginDao(ILoginDao loginDao) {
- this.loginDao = loginDao;
- }
- public String execute(){
- String userName = getUsername();
- String password = getPassword();
- System.out.println("userName:"+userName+"\n"+"password:"+password);
- List list = loginDao.getUser(userName);
- if(list.size()>0){
- return "success";
- }else{
- return "error";
- }
- }
- }
四.该写页面了 页面有三个如下
1. login.jsp
- <body>
- <s:form action="login" method="post">
- <s:textfield name="username" label="用户名:"></s:textfield>
- <s:textfield name="password" label="密码:"></s:textfield>
- <s:submit value="提交"></s:submit>
- </s:form>
- </body>
2.success.jsp 就几个字 登陆成功
3.error,jsp 就几个字 登录失败
五.创建数据库 login 创建表 userinfo 里面就三个字段 id username password 数据库我已经传到这文章里边了,下载后可以直接用
六.好了快启动tomcat看看成功了