一、

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. XMind8 安装

    参考:https://blog.csdn.net/qq_35911589/article/details/81901868 https://blog.csdn.net/Zjhao666/article ...

  2. 门禁系统socket通讯编程

    最近遇到一个socke udp协议通讯的需求,而且是16进制数据接收.这样在传输参数的时候老是提示参数错误,因为计算机是不能直接传输16进制的,会自行转换,所有以下代码非常完美的解决我的问题,同时也让 ...

  3. 安装新操作系统 Windows 路径设置 节省C盘空间

    1.QQ个人文件夹设置到D盘,D:\ProgramData\QQ 2.IE收藏夹设置到D盘,IE缓存设置到D盘 例如我想把收藏夹默认的保存路径改到D:\study下.关闭Internet Explor ...

  4. event 实现两个程序的交互

    event.wait() 等待一定时间,或者当遇到event.set() 时,继续执行 event.clear() 清除信号 event.set() 设置信号 event.isset() 判断信号 例 ...

  5. MAC CURL : Error:35 SSL certificate problem: Couldn't understand the server certificate format

    起因,使用极光推送最新的版本,里面curl使用https请求,而导致证书出错.一看就懵逼了,从来没遇到过这样的问题,二话不说直接百度,然后就更加懵逼了,搜出来的没有中文内容,对于我这种英文渣来说,简直 ...

  6. 16 MySQL--正确使用索引

    count 统计 count(*)和count(字段名) 基本结果是一样的 但是一种情况例外,就是当某字段名下边的数据有null值的时候,不计入这个count中,*则全部列入count中 一 .索引未 ...

  7. win10 ubuntu双系统安装后无法引导进入ubuntu

    之前按照先装windows后装ubuntu的方式装的系统,都可以引导到ubuntu,无论是将ubuntu挂在到/boot在windows用easy BCD建立ubuntu引导,还是将ubuntu挂在到 ...

  8. 查看RPM包里的内容

    有时候,拿到一个RPM,并不想安装它,而想了解包里的内容,怎么办呢? 如果只相知道包里的文件列表执行: #rpm -qpl packetname 如果想要导出包里的内容,而不是安装,那么执行: # r ...

  9. 一步步实现 easyui datagrid表格宽度自适应,效果非常好

    一步步实现 easyui datagrid表格宽度自适应,效果非常好: 一.设置公共方法,使得datagrid的属性  fitColumns:true $(function(){ //初始加载,表格宽 ...

  10. Haskell语言学习笔记(48)Data.Tuple

    Data.Tuple fst :: (a,b) -> a fst (x,_) = x snd :: (a,b) -> b snd (_,y) = y curry :: ((a, b) -& ...