mybatis-2
来源:互联网 发布:路由器映射加端口号 编辑:程序博客网 时间:2024/05/19 16:36
一、使用Mapper动态代理方式的第一个demo
1.搭建开发环境
(1)在github下载mybatis 下载地址:**https://github.com/mybatis/mybatis-3** 将以下包加入到工程
mysql的包需要自己去下载
(2)创建如下目录结构
2.创建User类
public class User { private Long id; private String name; private String password; //此处需要getter setter方法}
3.编写配置文件
(1)编写jdbc.properties
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.username=rootjdbc.password=mysqladmin
(2)编写mybatis-config.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> <!--读取jdbc.properties文件--> <properties resource="config/jdbc.properties"></properties> <typeAliases> <package name="pojo"></package> </typeAliases> <environments default="development" > <environment id="development" > <transactionManager type="JDBC"/> <dataSource type="POOLED" > <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <!--扫描Mapper接口和*.Mapper.xml配置文件 注意配置文件和接口需要放在同一个文件夹下,不然无法扫描到 --> <mappers> <package name="mapper"/> </mappers></configuration>
(3)编写UserMapper.xml和UserMapper接口
<?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="mapper.UserMapper"> <select id="findUserById" parameterType="long" resultType="user"> SELECT * FROM t_user WHERE id = #{id} </select> <select id="findUsersByName" parameterType="String" resultType="user"> SELECT * FROM t_user WHERE name like '%${value}%'; </select> <insert id="insertUser" parameterType="user"> INSERT INTO t_user(name,password) VALUES (#{name},#{password}) </insert> <delete id="deleteUser" parameterType="long"> DELETE FROM t_user WHERE id = #{id} </delete> <update id="updateUser" parameterType="user"> UPDATE t_user set name=#{name},password=#{password} WHERE id = #{id} </update></mapper>
public interface UserMapper { public void insertUser(User user); public void updateUser(User user); public void deleteUser(Long id); public User findUserById(Long id); public List<User> findUsersByName(String name);}
4.编写增删改查方法
public class Main { public static void main(String[] args) throws IOException { //1.生成sqlSessionFactory String resource = "config/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = null; sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = null; try{ session = sqlSessionFactory.openSession(); UserMapper userMapper = session.getMapper(UserMapper.class); //此处暂时省略,见下文 }catch (Exception e){ System.err.println(e.getMessage()); session.rollback(); }finally { if(session != null){ session.close(); } } }}
上文省略部分见此处
/** * 增加 */ User user = new User(); user.setName("张三三"); user.setPassword("121212"); userMapper.insertUser(user); session.commit();
/** * 删除 */ userMapper.deleteUser(12L); session.commit();
/** * 修改 */ User user = userMapper.findUserById(1L); user.setName("jackson"); userMapper.updateUser(user); session.commit();
/** * 查询单个 */ User user = userMapper.findUserById(1L); System.out.println(user.toString()); /** * 查询所有 */ List<User> list = userMapper.findUsersByName("张"); for (User user : list) { System.out.println(user.toString()); }
阅读全文
0 0
- 【MyBatis】2:MyBatis简介
- Mybatis[2]
- mybatis 2
- mybatis-2
- MyBatis--2
- Mybatis-2
- Mybatis 2
- MyBatis-----2、MyBatis整合Spring
- mybatis(2)--什么是mybatis?
- MyBatis 2章 MyBatis与Spring整合
- MyBatis 2章 MyBatis与Spring整合
- MyBatis 2章 MyBatis与Spring整合
- MyBatis 2章 MyBatis与Spring整合
- SpringMVC+MyBatis整合(2)MyBatis篇
- mybatis学习笔记(2)-mybatis概述
- 【Mybatis】深入浅出MyBatis(2)-Configuration
- Mybatis 学习 (2) mybatis入门
- MyBatis(2)--MyBatis标准示例(单例)
- AES加密的四种模式详解
- 决策树算法学习笔记(一)
- 10个令人相见恨晚的R语言包
- BZOJ 1030 [JSOI2007]文本生成器 DP+AC自动机
- shell编写的一个小误区
- mybatis-2
- 如何设定数字标题和坐标轴标签字体大小matplotlib
- 字符串排序
- RxEasyHttp网络库简介(一)
- 多字节之通用对话框_读写文件
- JAVA实现AES加密
- 黑匣子——KEY
- 频繁模式挖掘的模式评估方法
- Camera