mybatis与spring

mysql表脚本

CREATE TABLE `item` (
  `itemID` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `declaration` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`itemID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `order` (
  `orderID` int(11) NOT NULL AUTO_INCREMENT,
  `usercode` varchar(225) DEFAULT NULL,
  `itemID` int(11) DEFAULT NULL,
  PRIMARY KEY (`orderID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

spring环境

<?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:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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">
 <!-- interceptor -->
 <bean id="loginInterceptor" class="sps.interceptor.LoginInterceptor">
     <property name="loginIttService" ref="loginIttService"></property>
 </bean>
 <bean id="loginIttService" class="sps.interceptor.service.LoginIttService">
     <property name="namedParameterJdbcTemplate" ref="namedParameterJdbcTemplate"></property>
 </bean>
 <!-- action -->
 <bean id="loginAction" class="sps.login.action.LoginAction">
     <property name="loginService" ref="loginService"></property>
 </bean>
 <bean id="lrcAction" class="sps.lrc.action.LrcAction">
     <property name="lrcService" ref="lrcService"></property>
 </bean>
  <bean id="mybatisAction" class="sps.mybatis.action.MybatisAction">
     <property name="mybatisService" ref="mybatisService"></property>
 </bean>
 <!-- service -->
 <bean id="loginService" class="sps.login.service.LoginService">
     <property name="loginDao" ref="loginDao"></property>
 </bean>
 <bean id="lrcService" class="sps.lrc.service.LrcService">
 </bean>
 <bean id="mybatisService" class="sps.mybatis.service.MybatisService" >
     <property name="mybatisDao" ref="mybatisDao"></property>
 </bean>
 <!-- dao -->
 <bean id="loginDao" class="sps.login.dao.LoginDao">
     <property name="namedParameterJdbcTemplate" ref="namedParameterJdbcTemplate"></property>
 </bean>
 <bean id="mybatisDao" class="sps.mybatis.dao.MybatisDao">
     <property name="sqlSessionTemplate" ref="sqlSessionTemplate"></property>
 </bean>

 <!-- namedparameterjdbctemplate -->
 <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
     <constructor-arg ref="dataSource" ></constructor-arg>
 </bean>
 <!-- mybatis -->
 <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     <property name="dataSource" ref="dataSource"></property>
     <property name="mapperLocations" value="classpath:/mapper/*Mapper.xml"></property>
 </bean>
 <!-- dataSource -->
 <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
     <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/nanoha_sps" />
    <property name="username" value="root" />
    <property name="password" value="nihaoya" />
 </bean>

</beans>

mapper

<?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="sps.mybatis.dao.MybatisDao">

    <insert id="insertOrder" >
        insert into order(usercode, itemID) values(#{usercode},#{itemID})
    </insert>

    <insert id="insertItem" >
        insert into item(name, declaration) values(#{name}, #{declaration});
    </insert>

    <select id="queryItems" resultType="sps.mybatis.entity.Item" >
        select itemID, name, declaration from item
    </select>

</mapper>

struts

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="mybatis" namespace="/mybatis" extends="spsDefault">
        <!-- Add actions here
        <action name="HelloWorld" class="example.HelloWorld">
            <result>/example/HelloWorld.jsp</result>
        </action>

        <action name="Login_*" method="{1}" class="example.Login">
            <result name="input">/example/Login.jsp</result>
            <result type="redirectAction">Menu</result>
        </action>

        <action name="*" class="example.ExampleSupport">
            <result>/example/{1}.jsp</result>
        </action>
        -->
        <action name="*" class="mybatisAction" method="{1}">
            <result name="failure">/main/main.jsp</result>
            <result name="success">/mybatis/{1}.jsp</result>
            <result type="json" name="json">jsonMap</result>
        </action>
    </package>
</struts>

action, service, dao

package sps.mybatis.action;

import java.util.List;

import sps.basic.content.Content;
import sps.mybatis.entity.Item;
import sps.mybatis.entity.Order;
import sps.mybatis.service.MybatisService;

public class MybatisAction {

    private MybatisService mybatisService;

    private Order order;

    private Item item;

    private List<Item> items;

    public String inOrder() {
        String result = mybatisService.insertOrder(order);
        return result;
    }

    public String inItem() {
        String result = mybatisService.insertItem(item);
        return result;
    }

    public String itemList() {
        items = mybatisService.itemList();
        return Content.SUCCESS;
    }

    public void setMybatisService(MybatisService mybatisService) {
        this.mybatisService = mybatisService;
    }

    public Order getOrder() {
        return order;
    }

    public void setOrder(Order order) {
        this.order = order;
    }

    public void setItems(List<Item> items) {
        this.items = items;
    }

    public List<Item> getItems() {
        return items;
    }

    public void setItem(Item item) {
        this.item = item;
    }

    public Item getItem() {
        return item;
    }
}
package sps.mybatis.service;

import java.util.List;

import sps.basic.content.Content;
import sps.mybatis.dao.MybatisDao;
import sps.mybatis.entity.Item;
import sps.mybatis.entity.Order;

public class MybatisService {

    private MybatisDao mybatisDao;

    public void setMybatisDao(MybatisDao mybatisDao) {
        this.mybatisDao = mybatisDao;
    }

    public String insertOrder(Order order) {
        mybatisDao.insertOrder(order);
        return Content.SUCCESS;
    }

    public List<Item> itemList() {
        return mybatisDao.queryItems();
    }

    public String insertItem(Item item) {
        mybatisDao.insertItem(item);
        return Content.SUCCESS;
    }
}
package sps.mybatis.dao;

import java.util.List;

import org.mybatis.spring.SqlSessionTemplate;

import sps.mybatis.entity.Item;
import sps.mybatis.entity.Order;

public class MybatisDao {

    private SqlSessionTemplate sqlSessionTemplate;

    public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
        this.sqlSessionTemplate = sqlSessionTemplate;
    }

    public void insertOrder(Order order) {

    }

    public void insertItem(Item item) {
        sqlSessionTemplate.insert("insertItem", item);
    }

    public List<Item> queryItems() {
        return sqlSessionTemplate.selectList("queryItems");
    }

}

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<title>Simple jsp page</title>
</head>
<body>
    <h3>welcome, item</h3>
    <s:form action="mybatis/inItem.action" theme="simple">
        name&nbsp;<s:textfield name="item.name" ></s:textfield>
        declaration&nbsp;<s:textfield name="item.declaration"></s:textfield>
        <s:submit value="save" ></s:submit><s:reset value="reset"></s:reset>
    </s:form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<title>Simple jsp page</title>
</head>
<body>
    <h3>welcome</h3>
    <s:iterator value="items" var="item" >
        <s:property value="#item.itemID" />&nbsp;&nbsp;&nbsp;&nbsp;
        <s:property value="#item.name" />&nbsp;&nbsp;&nbsp;&nbsp;
        <s:property value="#item.declaration" />
    </s:iterator>
    <s:debug></s:debug>
</body>
</html>
时间: 2024-08-06 07:57:57

mybatis与spring的相关文章

Mybatis整合Spring 【转】

根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持.因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求.下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍. MapperFactoryBean 首先,我们需要从Mybatis官网上下载Mybatis-Spring的jar包添加到我们项

Mybatis与Spring整合

Mybatis与Spring整合无外乎要将数据源,以及事物管理的相关配置交给spring来管理,mybatis配置负责sqlmapper的相关配置也就是dao层到sql映射的相关配置. 一下以手机管理系统dao层实现所用到的Spring与MyBatis整合为例. 1.spring中beans.xml相关配置 <!--加载数据源基本配置文件--><context:property-placeholder location="classpath:conf/jdbc.properti

mybatis集成spring的事务管理

第一 创建一个测试实体 1 public class Order { 2 3 private int id; 4 private String orderName; 5 6 public Order(String orderName) { 7 this.orderName = orderName; 8 } 9 10 public int getId() { 11 return id; 12 } 13 public void setId(int id) { 14 this.id = id; 15

mybatis与spring整合时读取properties问题的解决

在学习mybatis与spring整合是,想从外部引用一个db.properties数据库配置文件,在配置文件中使用占位符进行引用,如下: 1 <context:property-placeholder location="classpath:db.properties" /> 2 <bean id="dataSource" 3 class="org.springframework.jdbc.datasource.DriverManage

Mybatis整合Spring

声明:本文系转载,有改动,原文请参考http://haohaoxuexi.iteye.com/blog/1843309 感谢作者的贡献!!! 根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持.因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求.下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一

mybatis与spring的整合

mybatis与spring整合 方式1:通过原始dao方法(不使用代理), 方式2:通过代理方式 搭建运行环境 1)导入 mybatis的jar包--->源码中的核心包+依赖包 mybatis提供的与spring整合的包 spring的核心包+事务包+aop面向切面编程包+数据库jdbc包 数据库驱动+c3p0包 2)建立配置文件 包括spring的核心文件bean.xml 以及 mybatis的核心文件sqlMapConfig.xml 2.User public class User { p

MyBatis与Spring设置callSettersOnNulls

项目中集成Mybatis与Spring,使用的是Mybatis3.2.7,以及Spring4.0.5,mybatis-spring-1.2.2;因为项目组成员想要偷懒,将数据从DB中查询出来时需要将字段映射为Map,而不想封装成Bean. 默认情况下,Mybatis对Map的解析生成, 如果值(value)为null的话,那么key也不会被加入到map中.于是对Map遍历时,key就遍历不到,因为前端工具的需要,必须有这个key,网上搜索后发现需要设置 callSettersOnNulls 这个

Mybatis 与 spring 整合

这篇文章我们来学习一下Mybatis 与 spring 的整合MapperFactoryBean 我们知道在Mybatis的所有操作都是基于一个SqlSession的,而SqlSession是由SqlSessionFactory来产生的,SqlSessionFactory又是由SqlSessionFactoryBuilder来生成的.但是Mybatis-Spring是基于SqlSessionFactoryBean的.在使用Mybatis-Spring的时候,我们也需要SqlSession,而且这

mybatis在spring(Controller) 中的事务配置问题

这两天一直在折腾一个小工具,非常简单的移动端webapp. 用的是jquery mobile + ssm. 写的差不多的时候,想到解决事务问题,本来以为非常简单,只要在配置文件中加上相应的mybatis在spring中注解配置即可. 配置是这样的. <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="txManager" class="or

Mybatis整合Spring(新)

根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持.因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求.下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍. MapperFactoryBean 首先,我们需要从Mybatis官网上下载Mybatis-Spring的jar包添加到我们项