mybatis学习(一)
来源:互联网 发布:sql删除完全重复数据 编辑:程序博客网 时间:2024/06/05 06:11
基础知识
- mybatis框架原理 (掌握)
- mybatis入门程序用户的增、删、改、查
- mybatis开发dao两种方法:
- 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握)
- mybaits的mapper接口(相当于dao接口)代理开发方法(掌握) - mybatis配置文件SqlMapConfig.xml
- mybatis核心:
- mybatis输入映射(掌握)
- mybatis输出映射(掌握) - mybatis的动态sql(掌握)
一.原始dao开发方法
- 导jar包(mybatis依赖,mybatis核心,数据库驱动)
- 编写全局配置文件
SqlMapConfig.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整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理--> <transactionManager type="JDBC" /> <!-- 数据库连接池--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="admin" /> </dataSource> </environment> </environments> <!-- 加载映射文件 --> <mappers> <mapper resource="sqlmap/User.xml"/> <mapper resource="mapper/UserMapper.xml"/> </mappers></configuration>
3.新建User.xml,编写sql查询语句
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="test"> <select id="findUserById" parameterType="int" resultType="cn.lovejavaq.po.User"> select * from user where id=#{id} </select> <select id="findUserByName" parameterType="java.lang.String" resultType="cn.lovejavaq.po.User"> select * from user where username like '%${value}%' </select> <insert id="insertUser" parameterType="cn.lovejavaq.po.User"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> select LAST_INSERT_ID() </selectKey> insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address}) </insert> <delete id="deleteUser" parameterType="int"> delete from user where id=#{id} </delete> <update id="updateUser" parameterType="cn.lovejavaq.po.User"> update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id} </update></mapper>
4.测试
@Test public void findUserByIdTest() throws IOException { String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //创建会话工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sessionFactory.openSession(); User user = sqlSession.selectOne("test.findUserById", 10); System.out.println(user); sqlSession.close(); }
5.dao方式,新建UserDao
public interface UserDao { //id查询用户信息 public User findUserById(int id) throws Exception; //添加 public void insertUser(User user)throws Exception; //删除用户信息 public void deleteUser(int id)throws Exception;}
6.新建UserDaoImpl
public class UserDaoImpl implements UserDao { private SqlSessionFactory sqlSessionFactory; public UserDaoImpl(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory; } public User findUserById(int id) throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); User user = sqlSession.selectOne("test.findUserById", id); sqlSession.close(); return user; }}
7.测试
public class UserDaoTest { private SqlSessionFactory sqlSessionFactory; @Before public void setUp() throws IOException { String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } @Test public void testFindUserById() throws Exception { UserDao userDao = new UserDaoImpl(sqlSessionFactory); User user = userDao.findUserById(1); System.out.println(user); }}
阅读全文
1 0
- mybatis学习(一)
- MyBatis学习(一)
- MyBatis学习(一)
- 学习Mybatis(一)
- mybatis学习(一)
- mybatis学习(一)
- mybatis学习(一)
- MyBatis学习(一)- 搭建MyBatis项目
- MyBatis学习(一)- 搭建MyBatis项目
- (一)mybatis学习之初识mybatis
- Mybatis学习笔记--(一)Mybatis基础
- MyBatis学习笔记(一)--初识MyBatis
- MyBatis入门学习(一)
- mybatis学习笔记(一)
- mybatis初步学习(一)
- Mybatis学习笔记(一)
- MyBatis入门学习(一)
- MyBatis入门学习(一)
- 12-20
- 帮助文档或使用说明Chm文档打开后,目录都在,内容为空白,如何解决?
- fastjson中日期与json之间的转换
- git 应用 tag
- Ubuntu系统 Eclipse安装支持c/c++插件
- mybatis学习(一)
- 值栈ValueStack的原理和生命周期
- Dash for mac(代码文档浏览器)破解版 V4.1.1激活版
- ZOJ 1324 Reactor Cooling——无源汇有上下界的可行流
- maven的聚合和继承
- 【给詹詹的Python学习笔记二】
- java编程,用数组计算学生的平均分
- 距离与相关性
- Win10快捷键