mybatis学习第一次使用
来源:互联网 发布:网络进度计划编制软件 编辑:程序博客网 时间:2024/06/05 23:48
mybatis学习第一天
- 1.使用IDEA创建一个maven工程
- 2.去百度mvn r.. https://mvnrepository.com/artifact/org.mybatis/mybatis/3.4.4 查找mybatits的maven包的结构
- 3.http://www.mybatis.org/mybatis-3/zh/getting-started.html 跟着这个教程简单的实践一下如何简单的了解使用mybatits
- 4.使用navicat 创建一个mybatis的数据库,创建一个简单的表进行实验
添加mybatis maven 配置
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.40</version> </dependency>
创建数据库mybatis与之创建一个表user和对应的实体的文件信息
Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) , `userAge` int(11) , `userAddress` varchar(200), PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;Insert INTO `user` VALUES ('1', 'wangji', '25', 'guizhou');
创建与之对应的实体User
package com.jet.module.UserManage.entity;/** * Created by JetWang on 2017/7/19. */public class User { private int id; private String name; private Integer age; private String address; 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 Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", address='" + address + '\'' + '}'; }}
配置mapping和Dao接口
说明一下,这里的mapping有点类似于Hibernate中Dao的实现,只是这个实现是在配置文件中去书写.
package com.jet.module.UserManage.dao;import com.jet.module.UserManage.entity.User;/** * Created by JetWang on 2017/7/19. */public interface UserDao { User findById(Integer id);}
mapping,可以想象为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.jet.module.UserManage.dao.UserDao"> <!-- 1.命名空间是唯一的,根据你的Dao接口来定制的,Select标签的id对应我们的方法上的函数名称--> <!-- 这里的#{id},相当于传递进来的参数,你可以想象成map中的一个key,或者一个JavaBean中的对应的属性名称--> <select id="findById" parameterType="int" resultType="User"> select id,userName as name,userAge as age,userAddress as address from `user` where id = #{id} </select></mapper>
mybatis-config的属性配置直接去官方copy下来,对于学习来说,基本的配置属性基本够用了
<?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> <typeAliases> <typeAlias alias="User" type="com.jet.module.UserManage.entity.User"/><!--别名,可以在mapping中直接使用的--> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="wang"/> </dataSource> </environment> </environments> <mappers> <!--查找映射文件信息--> <mapper resource="user-mapping.xml"/> </mappers></configuration>
然后就是写个测试,测试一下我们这个查找通过ID能不能成功。
基本的步骤就是获取配置文件中的属性来创建Session工程,然后获取一个Session,就可以通过命名空间进行查询或者通过Mapper进行查询。和JDBC中的Connection有点类似,与Hibernate中的Session一样的道理。(怎么去获取配置文件之类的官方文档很详细)
import com.jet.module.UserManage.dao.UserDao;import com.jet.module.UserManage.entity.User;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Assert;import org.junit.Test;import java.io.IOException;import java.io.InputStream;/** * Created by JetWang on 2017/7/19. */public class UserDaoTest { @Test public void findByIdTest() { InputStream inputStream = null; SqlSessionFactory sqlSessionFactory = null; SqlSession sqlSession = null; try { inputStream = org.apache.ibatis.io.Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); sqlSession = sqlSessionFactory.openSession(); //这里面向接口的,mybatis使用动态代理给你生成实现类,不需要DaoImpl UserDao userDao = sqlSession.getMapper(UserDao.class); User user = userDao.findById(1); /* 通过命名空间进行查询 User user = sqlSession.selectOne("com.jet.module.UserManage.dao.UserDao.findById",1); */ Assert.assertNotNull(user); System.out.println(user.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (sqlSession != null) { sqlSession.close(); } } }}
好好动起来,可以了
地址: https://github.com/WangJi92/mybatits-study/blob/master/mybatis-study/study-1
阅读全文
0 0
- mybatis学习第一次使用
- 第一次学习使用
- 学习Mybatis:Mybatis的使用
- Mybatis使用学习
- Mybatis学习与使用
- 谈谈今天第一次使用Mybatis访问MySql数据库的过程
- 【mybatis学习】maven使用mybatis-generator工具
- Mybatis学习笔记-MyBatis缓存的使用
- 第一次上手springmvc+mybatis
- JUnit入门学习——第一次使用
- 第一次学习
- 第一次学习
- 第一次学习
- 第一次使用
- 第一次使用
- 第一次使用
- 第一次使用
- 第一次使用
- POJ_1006_Biorhythms
- MyBatis插件开发
- Python OOP中如何在继承中避免代码重复设计
- 苹果酝酿取消打赏抽成:不再强推应用内购买,视为个人赠予
- 二维数组遍历求和操作:用二重循环求出二维数组b所有元素的和。
- mybatis学习第一次使用
- 找出比N小的最大质数
- Guava
- Integer和int相关
- 网站访问速度慢的排查方法
- 实时视频(直播,Linphone等)/语音通信研究
- bootstrap分页
- JAVA笔记一:FUNDAMENTAL
- 汇编与C/C++的故事