简单的框架使用

香椿丛林

MVC:


@Controller

public class StudentController {

@RequestMapping(value = "/student", method = RequestMethod.GET)

public ModelAndView student() {

return new ModelAndView("student", "command", new Student());

}


@RequestMapping(value = "/addStudent", method = RequestMethod.POST)

public String addStudent(@ModelAttribute("SpringWeb") Student student, ModelMap model) {

model.addAttribute("name", student.getName());

model.addAttribute("age", student.getAge());

model.addAttribute("id", student.getId());

return "result";

}

}

主 楼 发布于:2017-09-27 23:23:56回复
旅行者

Mybatis:


<mapper namespace="jien.UserMapper">

<select id="selectUser" resultType="jien.User">

select * from user where id = #{id}

</select>

<select id="selectUserAll" resultType="jien.User">

SELECT * FROM user

</select>


<select id="selectUserMap" resultType="map">

SELECT * FROM user WHERE id=#{id}

</select>



<insert id="insertUser" parameterType="jien.User">

INSERT INTO user (id,username,password,account) VALUES (#{id},#{username},#{password},#{account})

</insert>

</mapper>


2 楼 发布于:2017-09-27 23:27:04
回复
旅行者


<?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.soecode.lyf.dao.BookDao">

<!-- 目的:为dao接口方法提供sql语句配置 -->

<select id="queryById" resultType="Book" parameterType="long">

<!-- 具体的sql -->

SELECT

book_id,

name,

number

FROM

book

WHERE

book_id = #{bookId}

</select>

<select id="queryAll" resultType="Book">

SELECT

book_id,

name,

number

FROM

book

ORDER BY

book_id

LIMIT #{offset}, #{limit}

</select>

<update id="reduceNumber">

UPDATE book

SET number = number - 1

WHERE

book_id = #{bookId}

AND number > 0

</update>

</mapper>

3 楼 发布于:2017-09-27 23:42:11
回复
旅行者

Spring 整合 Mybatis:


<!-- 配置整合mybatis过程 -->

<!-- 1.配置数据库相关参数properties的属性:${url} -->

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


<!-- 2.数据库连接池 -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<!-- 配置连接池属性 -->

<property name="driverClass" value="${jdbc.driver}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="user" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />


<!-- c3p0连接池的私有属性 -->

<property name="maxPoolSize" value="30" />

<property name="minPoolSize" value="10" />

<!-- 关闭连接后不自动commit -->

<property name="autoCommitOnClose" value="false" />

<!-- 获取连接超时时间 -->

<property name="checkoutTimeout" value="10000" />

<!-- 当获取连接失败重试次数 -->

<property name="acquireRetryAttempts" value="2" />

</bean>


<!-- 3.配置SqlSessionFactory对象 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<!-- 注入数据库连接池 -->

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

<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->

<property name="configLocation" value="classpath:mybatis-config.xml" />

<!-- 扫描entity包 使用别名 -->

<property name="typeAliasesPackage" value="com.soecode.lyf.entity" />

<!-- 扫描sql配置文件:mapper需要的xml文件 -->

<property name="mapperLocations" value="classpath:mapper/*.xml" />

</bean>


<!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<!-- 注入sqlSessionFactory -->

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />

<!-- 给出需要扫描Dao接口包 -->

<property name="basePackage" value="com.soecode.lyf.dao" />

</bean>

4 楼 发布于:2017-09-27 23:43:56
回复
旅行者

web.xml


<servlet>

<servlet-name>mvc-dispatcher</servlet-name>

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

<!-- 配置springMVC需要加载的配置文件

spring-dao.xml,spring-service.xml,spring-web.xml

Mybatis - > spring -> springmvc

-->

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring/spring-*.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>mvc-dispatcher</servlet-name>

<!-- 默认匹配所有的请求 -->

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

</servlet-mapping>

5 楼 发布于:2017-09-27 23:46:32
回复
旅行者

spring 与 MVC:


<!-- 配置SpringMVC -->

<!-- 1.开启SpringMVC注解模式 -->

<!-- 简化配置:

(1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter

(2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持

-->

<mvc:annotation-driven />

<!-- 2.静态资源默认servlet配置

(1)加入对静态资源的处理:js,gif,png

(2)允许使用"/"做整体映射

-->

<mvc:default-servlet-handler/>

<!-- 3.配置jsp 显示ViewResolver -->

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

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />

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

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

</bean>

<!-- 4.扫描web相关的bean -->

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

6 楼 发布于:2017-09-27 23:50:00
回复
旅行者

事务管理:


<!-- 扫描service包下所有使用注解的类型 -->

<context:component-scan base-package="com.soecode.lyf.service" />


<!-- 配置事务管理器 -->

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<!-- 注入数据库连接池 -->

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

</bean>


<!-- 配置基于注解的声明式事务 -->

<tx:annotation-driven transaction-manager="transactionManager" />

7 楼 发布于:2017-09-27 23:52:01
回复
暮冬°Gentle

请楼主吃麻辣烫可好

8 楼 发布于:2017-10-08 00:56:34
回复
怀旧风

我不能给你幸福,但可以给你舒服!

9 楼 发布于:2017-10-29 19:10:42
回复
他是SB咋整

要挑熟女,裙子好揪。

10 楼 发布于:2017-11-11 14:51:51
回复
泛寒光

肺活量自测小技巧:放完屁后,低头猛吸,然后观察周围之人有无闻到异味。如有,则须按此法加强锻炼;如无,则证明你乃超人!

11 楼 发布于:2017-12-17 18:13:24
回复
王者饮风2

遇到妳,是我心动的开始,爱上妳,是我幸福的选择,拥有妳,是我最珍贵的财富,踏入红毯,是我永恒的动力。最爱的人是妳。遗憾的是我传错人了。

12 楼 发布于:2017-12-23 14:02:51
回复
就想要宝马a

我不是随便的人,随便起来不是人

13 楼 发布于:2018-01-14 20:16:01
回复
我是小梓

字数太多,不看

14 楼 发布于:2018-01-29 03:01:21
回复
惠生活

大海啊全他妈是水,蜘蛛啊全他妈是腿,辣椒啊真他妈辣嘴,认识你啊真他妈不后悔。祝生日快乐,天天开怀合不拢嘴

15 楼 发布于:2018-02-16 05:33:41
回复
小楠楠蔡

我捡了一挂鞭炮准备过年放,你看见了就要点,我说先别点,你和我怄气,大喊“我非点,我非点”,结果医院把你拖走了吧!

16 楼 发布于:2018-03-04 08:04:13
回复
神级不虐菜哇

我是你的小小狗,你是我骨头,轻轻把你含在口中,到天长地久。

17 楼 发布于:2018-04-13 04:03:21
回复
下河街道

火钳刘明

18 楼 发布于:2018-04-24 12:45:51
回复
事实论专家

你造么

19 楼 发布于:2018-05-16 17:32:36
回复
萧呤月

出来混老婆总是要换的

20 楼 发布于:2018-05-30 19:42:06
回复

发表回复: