spring-mybatis
来源:互联网 发布:百度自然排名优化费用 编辑:程序博客网 时间:2024/04/29 18:13
spring 集成mybatis
--->1. 添加Jar 包<---
【mybatis】
mybatis-3.2.0.jar
mybatis-spring-1.1.1.jar
log4j-1.2.17.jar
【spring】
spring-aop-3.2.0.RELEASE.jar
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
spring-jdbc-3.2.0.RELEASE.jar
spring-test-3.2.4.RELEASE.jar
spring-tx-3.2.0.RELEASE.jar
aopalliance-1.0.jar
cglib-nodep-2.2.3.jar
commons-logging-1.1.1.jar
【MYSQL 驱动包】
mysql-connector-java-5.0.4-bin.jar
--->2. 创建数据库表<---
CREATE TABLE s_user(
user_id INT AUTO_INCREMENT PRIMARY KEY,
user_name VARCHAR(30),
user_birthday DATE,
user_salary DOUBLE
)
--->3. 创建实体类: User<---
package com.sm.entity;import java.util.Date;public class User { private int id; private String name; private Date birthday; private double salary; // set,get 方法 public User() { super(); } public User(int id, String name, Date birthday, double salary) { super(); this.id = id; this.name = name; this.birthday = birthday; this.salary = salary; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", birthday=" + birthday + ", salary=" + salary + "]"; } }
--->4.创建DAO 接口: UserMapper (起名为类似:XXXMapper)<---
package com.sm.mapper;import java.util.List;import com.sm.entity.User;public interface UserMapper { void save(User user); void update(User user); void delete(int id); User findById(int id); List<User> findAll();}
--->5.创建SQL 映射文件: userMapper.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"><!-- namespace:必须与对应的接口类的全类名一致 --><mapper namespace="com.sm.mapper.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必须与对应的接口的某个对应方法的名一致 --> <insert id="save" keyColumn="user_id" keyProperty="id" useGeneratedKeys="true"> insert into s_user(user_name,user_birthday,user_salary) values(#{name},#{birthday},#{salary}) </insert> <update id="update"> update s_user set user_name = #{name},user_birthday = #{birthday},user_salary = #{salary} where user_id = #{id} </update> <delete id="delete"> delete from s_user where user_id = #{id} </delete> <select id="findById" resultMap="userResult"> select * from s_user where user_id = #{id} </select> <select id="findAll" resultMap="userResult"> select * from s_user </select></mapper>
--->6.在src下创建spring 的配置文件: beans.xml<---
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <!-- 1. 数据源 : DriverManagerDataSource --> <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123!qwe" /> </bean> <!-- 2. mybatis 的SqlSession 的工厂: SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="ds" /> <property name="typeAliasesPackage" value="com.sm.entity" /> </bean> <!-- 3. mybatis 自动扫描加载Sql 映射文件 : MapperScannerConfigurer --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.sm.mapper" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <!-- 4. 事务管理 : DataSourceTransactionManager --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="ds" /> </bean> <!-- 5. 使用声明式事务 --> <tx:annotation-driven transaction-manager="txManager" /></beans>
--->7.在src下创建mybatis 的配置文件: mybatis-config.xml<---
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- Spring 整合myBatis 后,这个配置文件基本可以不要了--><!-- 设置外部配置文件 --><!-- 设置类别名 --><!-- 设置数据库连接环境 --><!-- 映射文件 --></configuration>
--->8.进行整体配置的测试(创建一个junit4的测试类)<---
package com.sm.test;import java.util.Date;import java.util.List;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.sm.entity.User;import com.sm.mapper.UserMapper;@RunWith(SpringJUnit4ClassRunner.class) //使用Springtest框架@ContextConfiguration("/beans.xml") // 加载配置public class SMTest { @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); }}
- SPRING+MYBATIS
- mybatis + spring
- mybatis + spring
- Spring MyBatis
- spring mybatis
- spring+mybatis
- spring+mybatis
- mybatis+spring
- MyBatis+Spring
- Mybatis-Spring
- spring+mybatis
- spring+mybatis
- Spring+MyBatis
- spring-mybatis
- Spring+Mybatis
- mybatis+Spring
- Mybatis+Spring
- spring-mybatis
- Spring事务管理(6)-执行目标方法
- 《原型图之选项卡》
- codeforces--701B Cells Not Under Attack
- JavaSE基础--构造函数
- 栈实现,不是用template做的.
- spring-mybatis
- PAT A1042 Shuffling Machine (20)
- 6位随机密码生成器
- 自己动手实现HTTP协议
- 集合类(一) List的用法测试例
- **ACM集训day12——bfs队列
- Service的绑定中,Binder跨进程与非跨进程的区别
- 合并两个的排序链表
- linux中几个有用的快捷键