//@Alias("User") //设置别名,默认是类名 public class User { private int id; private String name; private Date birthday; private double salary; //getter and setter }
dao
/** * 使用Mybatis实现持久层只要定义 Dao接口和xxxmapper.xml文件 就可以了,不需要编写实现类 * @author Monday * @date 2013-9-5 上午11:57:51 * @version 1.0 */ public interface UserMapper { void save(User user); void update(User user); void delete(int id); User findById(int id); List<User> findAll(); }
xxxMapper.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="org.monmday.springmybatis.mappers.UserMapper"> <resultMap type="User" id="userResult"> <result column="user_id" property="id"/> <result column="user_name" property="name"/> <result column="user_birthday" property="birthday"/> <result column="user_salary" property="salary"/> </resultMap> <!-- 取得插入数据后的id --> <!-- 方式1 --> <!-- <insert id="save"> insert into t_user(user_name,user_birthday,user_salary) values(#{name},#{birthday},#{salary}) <selectKey keyProperty="id" resultType="int"> select last_insert_id() as id </selectKey> </insert> --> <!-- 方式2 --> <insert id="save" keyColumn="user_id" keyProperty="id" useGeneratedKeys="true"> insert into t_user(user_name,user_birthday,user_salary) values(#{name},#{birthday},#{salary}) </insert> <update id="update"> update t_user set user_name = #{name}, user_birthday = #{birthday}, user_salary = #{salary} where user_id = #{id} </update> <delete id="delete"> delete from t_user where user_id = #{id} </delete> <select id="findById" resultMap="userResult"> select * from t_user where user_id = #{id} </select> <select id="findAll" resultMap="userResult"> select * from t_user </select> </mapper>
下面是Spring3整合Mybatis的配置。
下面的配置只是方式之一,算是比较简介的配置吧。
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <!-- 属性文件 --> <context:property-placeholder location="jdbc.properties" /> <!-- 数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}"/> <!-- sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="dataSource" p:typeAliasesPackage="org.monmday.springmybatis.domian"/> <!-- 配置要扫描的xxxMapper.xml --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="org.monmday.springmybatis.mappers" p:sqlSessionFactoryBeanName="sqlSessionFactory"/> <!-- 事务管理 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" p:dataSource-ref="dataSource"/> <tx:annotation-driven transaction-manager="txManager" /> </beans>
测试:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/beans.xml") public class Main { @Autowired private UserMapper userMapper; @Test public void save() { User user = new User(); user.setBirthday(new Date()); user.setName("marry"); user.setSalary(300); userMapper.save(user); System.out.println(user.getId()); } @Test public void update() { User user = userMapper.findById(2); user.setSalary(2000); userMapper.update(user); } @Test public void delete() { userMapper.delete(3); } @Test public void findById() { User user = userMapper.findById(1); System.out.println(user); } @Test public void findAll() { List<User> users = userMapper.findAll(); System.out.println(users); } }
其他代码在附件中。
相关推荐
主要介绍了Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程,需要的朋友可以参考下
spring cloud整合mybatis,spring cloud整合mybatis,spring cloud整合mybatis
Spring4--Spring4整合mybatis
spring整合mybatis3所需的各种jar文件
Spring5整合mybatis3,Spring5整合mybatis3 版本: JDK8 Tomcat9 MySQL8
Spring mvc整合mybatis例子
Spring MVC整合Mybatis示例,该文本与http://blog.csdn.net/geloin/article/details/7536968配套。
spring整合Mybatis纯净项目,基础搭建,下载就用,包含整套源码,jar包
附件是spring boot整合mybatis和hikariCP的示例,本demo的spring boot是2.0以下版本,spring boot 2.0以上版本默认的数据库连接池就是hikariCP。
一个完整而简单SSM项目,包含SQL脚本、代码与学习笔记。内容Spring如何整合SpringMVC与Mybatis以及整合原理的源码分析。
spring mvc 整合mybatis实例,spring mvc 整合mybatis实例
Spring Boot整合MyBatis实现Restfull API实例,具体原理请参考笔者专栏Spring Boot从入门到精通
spring_mybatis 整合jar包,基本常用jar包的整合,。。。。。。。。。。。。。。。
Spring整合MyBatis完整实例 最新 +详细注释 标准的MVC模式 包含详细注释
spring security、 mybatis、 spring mvc 整合权限管理系统
springmvc4+spring4+mybatis3整合
spring boot整合mybatis+spring mvc
本例使用Spring,SpringMVC,MyBatis技术进行框架整合,代码都有详细的注释和说明,初学SSM框架很好用,特此推荐。
Spring Boot整合MyBatis 示例代码