Spring mvc 代码详解 一

spring mvc 的配置文件编写完毕后  我们开始来编写我们的程序的业务层和数据层

本人编写一个简单的示例  来研究spring mvc

这个示例的目标是 完成用户的登陆 登陆后查看 所有的用户信息 

数据库采用的是mysql   程序架构使用spring mvc+ibatis 页面采用freemarker

因为需要使用freemarker 所以 我们需要在spring配置文件applicationContext.xml中 添加如下配置:

	<!-- freemarker的配置 -->
	<bean id="freemarkerConfig"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<!-- 此处配置的freemarker的的模板文件所在的位置 -->
		<property name="templateLoaderPath" value="/WEB-INF/view/" />
		<property name="defaultEncoding" value="utf-8" />
		<property name="freemarkerSettings">
			<props>
				<prop key="template_update_delay">10</prop>
				<prop key="locale">zh_CN</prop>
				<prop key="datetime_format">yyyy-MM-dd</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
				<prop key="number_format">#.##</prop>
			</props>
		</property>
	</bean>

 

然后 我们再在dispatcher.xml中添加如下配置

<!-- 针对freemarker的视图配置 -->
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="cache" value="true" />
        <property name="prefix" value="" />
        <!-- 此处配置的是freemarker的文件的后缀名称 -->
        <property name="suffix" value=".ftl" />
        <property name="contentType" value="text/html;charset=UTF-8"></property>
        <property name="requestContextAttribute" value="request" />
        <property name="exposeSpringMacroHelpers" value="true" />
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
    </bean>

 

如果代码使用的是jsp页面 则我们不需要在spring的配置文件applicationContext.xml添加上面的freemarker配置  只需要将dispatcher.xml中的freemarker的配置修改成如下配置:

<!-- 针对jsp的视图配置 -->
	  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	  <!-- 此处配置的jsp文件存在的目录 -->
       <property name="prefix" value="/WEB-INF/views/"></property>
       <!-- 此处配置的是jsp文件的后缀 -->
       <property name="suffix" value=".jsp"></property>
       <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
    </bean>

在后面  我会专门开篇文章来记录如何配置spring的多种视图。

首先 我们创建数据库 然后创建数据表sys_user 表结构如下图所示

《Spring mvc 代码详解 一》

然后 我们创建实体类 users  users中代码如下:

package com.hoo.entity;

import java.io.Serializable;

import javax.persistence.Entity;
//@是一种依赖注入,可以为我们写entitybean时,省去写xml的配置,减少错误的发生。
//@Entity表明该类是实体bean
@Entity
@SuppressWarnings("serial")
public class UserDmo implements Serializable{
    private String uid;
    private String uname;
    private String upass;
    private String regeditTime;
    private Integer userType;
    private String regerees;
    public String getUid() {
        return uid;
    }
    public void setUid(String uid) {
        this.uid = uid;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUpass() {
        return upass;
    }
    public void setUpass(String upass) {
        this.upass = upass;
    }
    public String getRegeditTime() {
        return regeditTime;
    }
    public void setRegeditTime(String regeditTime) {
        this.regeditTime = regeditTime;
    }
    public Integer getUserType() {
        return userType;
    }
    public void setUserType(Integer userType) {
        this.userType = userType;
    }
    public String getRegerees() {
        return regerees;
    }
    public void setRegerees(String regerees) {
        this.regerees = regerees;
    }
    @Override
    public String toString() {
        return "UserDmo [regeditTime=" + regeditTime + ", regerees=" + regerees + ", uid=" + uid + ", uname=" + uname
                + ", upass=" + upass + ", userType=" + userType + "]";
    }
  
}

其中  @entity表明该类是实体bean 当我们添加他时  不需要再spring配置文件在添加bean

实体类编写完毕后,我们在编写ibatis所需的查询的xml文件 在这里 我的xml文件名称叫做user.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.hoo.entity.UserDmo" />
	<select id="User.selectAllUsers" resultClass="User">
		select * from sys_users
 </select>

<select id="User.selectUserByUname" resultClass="User">
	select * from sys_users where uname=#uname#
</select>

	<select id="User.selectUser" resultClass="User" parameterClass="int">
		select * from sys_users where uid=#uid#
 </select>
	<insert id="User.insertUser" parameterClass="User">
		insert into sys_users
		values (
		#uid#,#uname#,#upass#,#regeditTime#,#userType#,#regerees#
		)
 </insert>
	<update id="User.updateUser" parameterClass="User">
		update sys_users set uname
		= #uname#,upass=#upass#
		where uid=#uid#
 </update>
	<delete id="User.deleteUser" parameterClass="int">
		delete from sys_users
		where uid=#uid#
 </delete>

</sqlMap>

最后 在附上 ibatis的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>

   <settings 
       lazyLoadingEnabled="true"
        useStatementNamespaces="true" />
    <!-- 使用spring之后,数据源的配置移植到了spring上,所以iBATIS本身的配置可以取消 -->
	<sqlMap resource="com/hoo/entity/user.xml" />
</sqlMapConfig>

至此  数据库的建立和实体类的编写已经完毕 关于数据层的编写和业务逻辑层的编写 请参考《Spring mvc 代码详解 二》

    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/biaohu_lanh/article/details/16822981
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞