SpringMVC+ibatis

来源:互联网 发布:电脑实用软件推荐 编辑:程序博客网 时间:2024/06/05 09:31

SpringMVC+Ibatis项目搭建

1 创建Maven项目

   1.1 选择创建maven项目

 

   2.2 选择创建web项目

    本项目为web项目所以选择maven-archetype-webapp

 

2.3 配置项目参数,点击完成

 

  2.4 添加servlet-api依赖

   项目建立完成后,会发现报index.jsp文件报错,错误如下图

 

这是因为缺少servlet-api包引起,可在pom文件dependencies中增加

  <dependency>

   <groupId>javax.servlet</groupId>

   <artifactId>servlet-api</artifactId>

   <version>2.5</version>

  </dependency>

即可,至此maven项目建立完毕,可将项目部署到服务器上,通过网页访问验证是否成功

2 添加SpringMVC框架

  2.1 进入mavenhttp://mvnrepository.com/

  2.2 搜索Spring MVC(中间有空格,或是搜索Spring Web MVC

  2.3 选择第一个

 

2.4 选择一个版本,demo中选择4.3版本

 

  2.5 将依赖复制到pom.xml

  <dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-webmvc</artifactId>

   <version>4.3.12.RELEASE</version>

  </dependency>

  注:此配置会自动将其依赖文件下载

  2.6 配置web文件,Spring拦截核心配置,其他诸如参数配置,字符过滤见demo

 <servlet>

  <servlet-name>ucmed</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <load-on-startup>1</load-on-startup>

 </servlet>

 <servlet-mapping>

  <servlet-name>ucmed</servlet-name>

  <url-pattern>/</url-pattern>

 </servlet-mapping>

此外还需以ucmed-servlet为名建立配置文件,至此Spring框架初步配置完毕,通过启动tomcat验证是否成功

  2.7 ucmed-servlet配置

  添加注解扫描配置

 <context:annotation-config />

 <context:component-scan base-package="com.ucmed.web" />

  添加视图解析配置

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <property name="viewClass"

   value="org.springframework.web.servlet.view.JstlView" />

  <property name="prefix" value="/WEB-INF/" />

  <property name="suffix" value=".jsp" />

 </bean>

  Jsp依赖引入,为避免麻烦顺带可将jstlstandard引入

    <!-- jsp页面 -->

  <dependency>

   <groupId>javax.servlet</groupId>

   <artifactId>javax.servlet-api</artifactId>

   <version>3.1.0</version>

   <scope>provided</scope>

  </dependency>

  <dependency>

   <groupId>javax.servlet</groupId>

   <artifactId>jstl</artifactId>

   <version>1.1.2</version>

  </dependency>

  <dependency>

   <groupId>taglibs</groupId>

   <artifactId>standard</artifactId>

   <version>1.1.2</version>

  </dependency>

  可以写一个action(或controller)访问测试

3 添加ibatis框架

  3.1 添加ibatis.jar,将下配置加入pom文件中

<!-- https://mvnrepository.com/artifact/org.apache.ibatis/ibatis-sqlmap -->

<dependency>

    <groupId>org.apache.ibatis</groupId>

    <artifactId>ibatis-sqlmap</artifactId>

    <version>2.3.4.726</version>

</dependency>

3.2 添加spring-ibatisspring-ibatis

<!-- https://mvnrepository.com/artifact/org.springframework/spring-ibatis -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-ibatis</artifactId>

    <version>2.0.8</version>

</dependency>

<dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-ibatis</artifactId>

   <version>2.0.8</version>

 </dependency>

3.3 添加mysql依赖,将下配置加入pom文件中

<!--数据库-->

<dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

   <version>5.1.6</version>

</dependency>

3.4 配置数据库与sqlMapClient

<!-- 数据库配置 -->

 <context:property-placeholder location="classpath*:jdbc.properties" />

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

  destroy-method="close">

  <property name="driverClassName">

   <value>${driver}</value>

  </property>

  <property name="url">

   <value>${url}</value>

  </property>

  <property name="username">

   <value>${username}</value>

  </property>

  <property name="password">

   <value>${password}</value>

  </property>

 

  <property name="maxActive">

   <value>${maxActive}</value>

  </property>

  <property name="maxIdle">

   <value>${maxIdle}</value>

  </property>

  <property name="minIdle">

   <value>${minIdle}</value>

  </property>

  <property name="validationQuery" value="SELECT 1" />

  <property name="testOnBorrow" value="true" />

 </bean>

 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

  <property name="dataSource" ref="dataSource" />

  <property name="configLocation">

   <value>classpath:com/ucmed/mapper/SqlMapConfig.xml</value>

  </property>

 </bean>

 

 <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">

  <property name="sqlMapClient" ref="sqlMapClient"></property>

 </bean>

 

3.5 配置SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>  

<!DOCTYPE sqlMapConfig        

    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        

    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

 <sqlMapConfig>  

        <sqlMap resource="com/ucmed/mapper/UserMapper.xml"/>  

 </sqlMapConfig>

 

3.6 配置UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>   

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"    

"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="User">

 

 <typeAlias alias="User" type="com.ucmed.domain.User" />

 <resultMap class="com.ucmed.domain.User" id="selectUserbyNameResult">

  <result column="id" property="id" />

  <result column="name" property="name" />

  <result column="pass" property="pass" />

  <result column="phone" property="phone" />

 </resultMap>

 

 <insert id="insertUser" parameterClass="User">

 

  insert into user(id,name,pass,phone) values(null,#name#,#pass#,#phone#)

  <selectKey  resultClass="int" keyProperty="id">select last_insert_id() as id </selectKey>

 </insert>

 <delete id="deleteUser" parameterClass="User">

  delete from user where id

  = #id#

 </delete>

 <update id="updateUser" parameterClass="User">

  update

 </update>

 <select id="selectUser" parameterClass="User" resultClass="com.ucmed.domain.User">

  select * from user where name = #name# and pass = #pass#

 </select>

 <select id="selectUserbyName" resultMap="selectUserbyNameResult" parameterClass="String">

  select * from user where name = #name#

 </select>

</sqlMap>  

3.7 generatorConfig.xml

可使用生成dao层代码减轻编写难度,新增相关插件即可使用,在此不做赘述,配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

 <classPathEntry

  location="C:\Users\ucmed\.m2\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />

 <context id="context1">

  <commentGenerator>

   <property name="suppressAllComments" value="true" />

  </commentGenerator>

  <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/demo"

   driverClass="com.mysql.jdbc.Driver" password="" userId="root" />

  <javaModelGenerator targetPackage="com.ucmed.domain"

   targetProject="ism_demo" />

  <sqlMapGenerator targetPackage="com.ucmed.mapper"

   targetProject="ism_demo" />

  <javaClientGenerator targetPackage="com.ucmed.dao"

   targetProject="ism_demo" type="XMLMAPPER" />

  <table schema="User" tableName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"

    enableSelectByExample="false" selectByExampleQueryId="false">

 

  </table>

 </context>

</generatorConfiguration>

 

 

原创粉丝点击