一、

1. 实体bean     

package com.mybatisBean;

public class User {
private Integer id;
private String name;
private String age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
} }

2.dao类

  

package com.mybatisDao;

import java.util.List;

import com.mybatisBean.User;

public interface UserDao {
public List<User> selectAll();
}

3.dao 映射文件

<?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.mybatisDao.UserDao">
<select id="selectAll" resultType="com.mybatisBean.User">
select * from user
</select>
</mapper>

 4.配置文件

<?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>
<!-- <environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_mysql?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments> -->
<mappers>
<mapper resource="mybatisMapper/UserMapper.xml"/>
</mappers>
</configuration>

5. 测试

  

package com.mybatisTest;

import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.mybatisBean.User;
import com.mybatisDao.UserDao; /*
* mybatis 第一种方式
* 1. 创建实体,2. 创建dao ,声明接口 3. 创建dao 对应的映射文件
* 4. 创建mybatis 配置文件,声明数据库连接,配置映射文件 5.通过mybatis配置文件和sessionfactoryBuilder引用
* 第一种方式在 mybatis 配置文件中配置数据库链接
*/
public class TestUser {
public static void main(String[] args) throws Exception{
String resource="mybatis-configuration.xml";
Reader reader=Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder bulider=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=bulider.build(reader);
SqlSession session=factory.openSession();
UserDao userdao=session.getMapper(UserDao.class);
List<User> list=userdao.selectAll();
for(User user:list){
System.out.println(user.getName()+":"+user.getAge());
}
session.commit();
session.close();
}
}

jar 包 ,主要有 mybatis-3.1.1.jar  和 mysql-connector-java-5.1.jar

二、

    多出的部分。

  1. service 接口和实现

package com.mybatisService.User;

import java.util.List;

import com.mybatisBean.User;

public interface UserService {
public List<User> selectAll();
} package com.mybatisService.User; import java.util.List; import com.mybatisBean.User;
import com.mybatisDao.UserDao; public class UserImpl implements UserService{
private UserDao userdao; public UserDao getUserdao() {
return userdao;
} public void setUserdao(UserDao userdao) {
this.userdao = userdao;
} @Override
public List<User> selectAll() {
return this.userdao.selectAll();
} }

  2. 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_mysql?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-configuration.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.mybatisDao.UserDao"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
<bean id="userservice" class="com.mybatisService.User.UserImpl">
<property name="userdao" ref="userDao"></property>
</bean>
</beans>

mybatis 配置文件中的 数据库链接不需要了 。

基于以上  添加 mybatis

添加jar  包  mybats-3.1.jar  mysql-connector-java-5.1 mybatis-spring.jar ,commons-dbcp,commons-pool,spring-jdbc 等

UserDao.java

package com.mybatisdao;

import java.util.List;

import com.bean.User;

public interface UserDao {
public List<User> selectAll();
}

UserDaoMapper.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.mybatisdao.UserDao">
<select id="selectAll" resultType="com.bean.User">
select * from user
</select>
</mapper>

mybatis-configuration.xml

<?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>
<!-- <environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_mysql?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="***"/>
</dataSource>
</environment>
</environments> --> <!--结合spring 时要在Spring 配置文件中配置 数据库链接-->
<mappers>
<mapper resource="com/mybatisMapper/UserDaoMapper.xml"/>
</mappers>
</configuration>

更改HappyNewYearIml.java

package com.service;

import java.util.List;

import javax.jws.WebService;

import com.bean.Person;
import com.bean.User;
import com.mybatisdao.UserDao; @WebService(endpointInterface = "com.service.HappyNewYear")
public class HappyNewYearImpl implements HappyNewYear
{
private UserDao userdao; //主要改动的地方 public UserDao getUserdao() {
return userdao;
} public void setUserdao(UserDao userdao) {
this.userdao = userdao;
} public String sayHello(Person person)
{
List<User> list=userdao.selectAll();
String ss="";
for(User u:list){
if(u.getId()+""==person.getFirstName()){
ss=u.getName()+"年龄"+u.getAge();
}
} return ss==""?"没有":ss;
} }

applicationContext.xml更改

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<bean id="person" class="com.bean.Person"></bean>
<bean id="restSample" class="com.rest.HelloLove"></bean>
<context:component-scan base-package="com.*">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
 <!--主要更改部分begin-->
    <!-- 下面3个bean 的 class 需要导入 mybatis-spring.jar ,commons-dbcp,commons-pool,spring-jdbc  -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_mysql?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:com/resoureces/mybatis-configuration.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.mybatisdao.UserDao"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
<bean id="happyNewYearImpl" class="com.service.HappyNewYearImpl">
<property name="userdao" ref="userDao"></property>
</bean> <!-- 当jaxws:endpoint的 implementor需要引入Spring bean 时 要加 # ,这是第一种方式 -->
<jaxws:endpoint id="greetServicce" implementor="#happyNewYearImpl" address="/greetServicce" />
<!-- 第二种方式 -->
<!-- <jaxws:endpoint id="greetServicce" implementorClass="com.service.HappyNewYearImpl" address="/greetServicce">
<jaxws:implementor>
<bean ref="userDao"></bean> 找不到ref 属性 ,应该是版本问题
</jaxws:implementor>
</jaxws:endpoint> -->
<!--主要更改部分end--> <jaxrs:server id="restServiceContainer" address="/rest">
<jaxrs:serviceBeans>
<ref bean="restSample"/>
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
<jaxrs:languageMappings>
<entry key="en" value="en-gb"/>
</jaxrs:languageMappings>
</jaxrs:server>
</beans>

测试

package com.test;

import java.io.IOException;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.bean.User;
import com.mybatisdao.UserDao; public class testmybatis {
public static void main(String[] args) throws IOException{
String resource="com/resoureces/mybatis-configuration.xml";
Reader reader=Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder bulider=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=bulider.build(reader);
SqlSession session=factory.openSession();
UserDao userdao=session.getMapper(UserDao.class);
List<User> list=userdao.selectAll();
for(User u:list){
System.out.println(u.getName()+"年龄"+u.getAge());
}
session.commit();
session.close();
}
}

请结合 http://www.cnblogs.com/zhangchenglzhao/p/3505176.html

mybatis 和 mybatis-spring的更多相关文章

  1. MyBatis 3 与 Spring 4 整合关键

    MyBatis 3 与 Spring 4 整合关键 MyBatis与Spring整合,首先需要一个Spring数据源.其次有两个关键,配置sqlSessionFactory时需要配置扫描sql映射xm ...

  2. MyBatis 学习-与 Spring 集成篇

    根据官方的说法,在 ibatis3,也就是 Mybatis3 问世之前,Spring3 的开发工作就已经完成了,所以 Spring3 中还是没有对 Mybatis3 的支持.因此由 Mybatis 社 ...

  3. Mybatis集成到spring boot

    1, Mybatis简介 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可 ...

  4. MyBatis之整合Spring

    MyBatis之整合Spring 整合思路: 1.SqlSessionFactory对象应该放到spring容器中作为单例存在 2.传统dao的开发方式中,应该从spring容器中获得sqlSessi ...

  5. MyBatis在非Spring环境下第三方DataSource设置-Druid篇

    首先在ITEye上面看到一个同标题文章,在此说明,此文并非转载自 http://iintothewind.iteye.com/blog/2069522 ,因为这篇文章根本就是错误的,照着上面做,工程可 ...

  6. 深入浅出mybatis之与spring集成

    目录 写在前面 详细配置 1.dataSource(数据源) 2.sqlSessionFactory(Session工厂) 3.Mapper(映射器) 4.TransactionManager(事务管 ...

  7. SpringMVC+Spring+mybatis项目从零开始--Spring mybatis mysql配置实现

    上一章我们把SSM项目结构已搭建(SSM框架web项目从零开始--分布式项目结构搭建)完毕,本章将实现Spring,mybatis,mysql等相关配置. 1.    外部架包依赖引入 外部依赖包引入 ...

  8. mybatis源码分析(8)-----事务(mybatis管理、spring管理)

    写在前面 接口:MyBatis的事务Transaction的接口有一下实现类 JdbcTransaction 由jdbc管理的事务(即利用Connection对象完成对事务的提交(commit()). ...

  9. 因此mybatis最好与spring集成起来使用

    单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用. spring ...

  10. JavaPersistenceWithMyBatis3笔记-第5章Configuring MyBatis in a Spring applications-001

    一. 1.Mapper /** * */ package com.mybatis3.mappers; import java.util.List; import org.apache.ibatis.a ...

随机推荐

  1. CUDA C Programming Guide 在线教程学习笔记 Part 9

    ▶ 协作组,要求 cuda ≥ 9.0,一个简单的例子见 http://www.cnblogs.com/cuancuancuanhao/p/7881093.html ● 灵活调节需要进行通讯的线程组合 ...

  2. C# WEB.API 多图上传

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  3. 浅谈Matcher和pattern的使用

    这两个类位于java.util.regex包下,主要用于实现正则表达式 Pattern类用于创建一个正则表达式,也可以说是创建一个匹配模式 两个静态方法创建:compile(String regex) ...

  4. 浅谈实体类为什么要实现Serializable接口?

    序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创 ...

  5. Simple2D-26 Simple2D 最后的工作,开发结束

    开始的时候打算将 Simple2D 做成一个库的,但现在没有那个功夫了. 要渲染顶点数据,就必须将渲染函数放置到 glClear( ) 函数和 SwapBuffers( ) 函数之间,但又不希望开发时 ...

  6. 【转】vc api 录音

    一.数字音频基础知识 Fourier级数: 任何周期的波形可以分解成多个正弦波,这些正弦波的频率都是整数倍.级数中其他正线波的频率是基础频率的整数倍.基础频率称为一级谐波. PCM: pulse co ...

  7. Haskell语言学习笔记(42)Bifunctor

    Bifunctor class Bifunctor p where bimap :: (a -> b) -> (c -> d) -> p a c -> p b d bim ...

  8. es进行curl请求时报错:missing authentication token for REST request

    把host 修改一下即可 ELASTICSEARCH_HOST=http://user:password@URL:port

  9. WEB性能测试工具

    做Web开发,难免要对自己开发的页面进行性能检测,自己写工具检测,工作量太大.网上有几款比较成熟的检测工具,以下就介绍一下,与大家分享. 互联网现有工具 基于网页分析工具: 1.       阿里测 ...

  10. 分类模型评估之ROC-AUC曲线和PRC曲线

    http://blog.csdn.net/pipisorry/article/details/51788927 在样本分布及其不均匀的情况下,建议用PRC...可以看下这个精确率.召回率.F1 值.R ...