ssm小小整合

ssm整合:

首先是创建数据库:

CREATE TABLE `user` (
  `id` int(20) NOT NULL,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL
) ;

ALTER TABLE `user`
  ADD PRIMARY KEY (`id`);


ALTER TABLE `user`
  MODIFY `id` int(20) NOT NULL AUTO_INCREMENT;

插入一条测试数据: 

ssm小小整合

在me中创建一个新的web工程

 springmvc的基本jar

ssm小小整合

mybatis基本jar

ssm小小整合

mybatis-spring整合jar

ssm小小整合

 工程目录:

 MyEclipse可以自动导入jar

mybatis的jar还需要自己手动导入到lib文件中

有些配置文件是系统自动生成

无须追求一致

 ssm小小整合

lib文件夹

ssm小小整合

基于mappe开发

1.spring和mybatis的整合:

 SqlMapConfig.xml

 此时可以根据自己的需要去设置<setting>......

根据自己开发的需求

<?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>
           <package name="com.test.mapper"/>
     </mappers>
</configuration>

 mapper和java文件需要在同一个目录(mybatis知识)

 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"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd">


<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:db.properties"/>

<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
         <property name="driverClassName" value="${jdbc.driver}" />
           <property name="url" value="${jdbc.url}" />
           <property name="username" value="${jdbc.username}" />
           <property name="password" value="${jdbc.password}" />
           <property name="maxActive" value="10" />
           <property name="maxIdle" value="5" />
</bean>



<!-- 配置sqlSessinFactory -->
     <!-- org.mybatis.spring.SqlSessionFactoryBean -->
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
           <!-- 加载mybatis的配置文件 -->
           <property name="configLocation" value="mybatis/SqlMapConfig.xml" />
           <!-- 数据源 -->
           <property name="dataSource" ref="dataSource" />
     </bean>


<!-- mapper配置
     MapperFactoryBean:根据mapper接口生成代理对象
-->
     <!-- mapperInterface指定mapper接口 -->
     <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
           <property name="mapperInterface" value="com.test.mapper.UserMapper"/>
           <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
     </bean>

</beans>

 此时的整合基本结束

整合测试:

UserMapper.java

public interface UserMapper {
         //根据id查询用户信息
         public User findUserById(int id) throws Exception;
         public List<User> findUserAll() throws Exception;
}

 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.test.mapper.UserMapper">
     <select id="findUserById" parameterType="int" resultType="com.test.pojo.User">
           SELECT * FROM USER WHERE id=#{value}
     </select>
     <select id="findUserAll" parameterType="int" resultType="com.test.pojo.User">
           SELECT * FROM USER 
     </select>
</mapper>

测试:

public class test {

    public static void main(String[] args) throws Exception {
        
        
          ApplicationContext app = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
           
                   UserMapper user = (UserMapper) app.getBean("userMapper");
                   User u = user.findUserById(1);
                   System.out.println(u);
    }
}
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b81ce95]
DEBUG [main] - Returning JDBC Connection to DataSource
User [id=1, username=user, password=1234]

此时数据是可以成功从数据库中查询!

2.关于web网页实现测试

配置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
" version="3.1"> <!-- 配置DispatcherServlet --> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

基本的配置也就是 这些了,其他的根据自己项目的需求去设置。

配置springmvc.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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd">

<!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.test"></context:component-scan>
<!--注解开发驱动--> <mvc:annotation-driven></mvc:annotation-driven> <!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>

配置handler

SelectUser.java

@Controller
public class SelectUser {
    @RequestMapping("/list")
    public String selectList(Model model) throws Exception{return "list";
    }
}

此时先进行代码的测试

index.jsp

  <body>
   <a href="<%=request.getContextPath() %>/list">SelectAll</a>
  </body>

list.jsp

<body>
hello
</body>

然后把项目放在tomcat上运行

ssm小小整合

点击超链接进行跳转

 ssm小小整合

此时可以成功跳转

<%=request.getContextPath() %>加上,否则跳转的路径可能会出问题

 在进行数据的查询测试:

UserMapperImp.java

把数据库的查询以及相关返回均放在一个类中!

public class UserMapperImp {
    
     static ApplicationContext app = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
       
        //查询全部
        public static List<User> getUsers() throws Exception{
            UserMapper um = (UserMapper) app.getBean("userMapper");
            List<User> u =  um.findUserAll();
            return u;
        }
}

SelectUser.java

@Controller
public class SelectUser {

    @RequestMapping("/list")
    public String selectList(Model model) throws Exception{
        model.addAttribute("users", UserMapperImp.getUsers());
        return "list";
    }
}

 list.jsp

对数据库进行循环遍历的获取!

<table border="1" cellpadding="0" cellspacing="0" width="500">
        <tr>
            <td>id</td>
            <td>user</td>
            <td>pwd</td>
            
        </tr>
        <c:forEach items="${users}" var="u">
            <tr>
                <td>${u.id}</td>
                <td>${u.username}</td>
                <td>${u.password}</td>
            </tr>
        </c:forEach>
    </table>

 此时再次重新启动tomcat

ssm小小整合

点击超链接

ssm小小整合