mybatis简单示例
先总结一下,原生mybatis的使用。
启动初始化相关:主要就是一个数据库信息配置文件 --> 文件中同时指定需要加载的mapper文件 --> mapper文件中定义domain实体对象、mapper接口类、接口对应的sql语句定义。
使用时:通过读取xml配置,生成sessionFactory对象,用该对象创建出sqlSession,进行增删改查操作。
1、引入mybatis.jar mysql-connector-java-5.1.47.jar
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
2、新增数据库资源文件datasource.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=
3、新增mybatis.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>
<properties resource="datasource.properties"/>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<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>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
4、新增UserDomain.java
package cn.scp.mybatis.native_mybatis.domain; import lombok.Data; import java.util.Date; @Data
public class UserDomain {
private int id;
private String name;
private int age;
private String idCard;
private String school;
private String job;
private String remark;
private Date createDate;
private Date modifyDate;
private int deleteFlag;
}
5、新增UserMapper.java
package cn.scp.mybatis.native_mybatis.mapper; import cn.scp.mybatis.native_mybatis.domain.UserDomain; /**
* @description
* @date 2019/3/17 10:30
*/
public interface UserMapper {
public UserDomain selectById(int id);
}
6、新增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" >
<mapper namespace="cn.scp.mybatis.native_mybatis.mapper.UserMapper">
<select id="selectById" resultType="cn.scp.mybatis.native_mybatis.domain.UserDomain">
select * from t_user_info where id=#{id}
</select>
</mapper>
7、新增mybatis工具类MybatisUtil.java
package cn.scp.mybatis.native_mybatis.util; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.Reader; public class MybatisUtil {
public static SqlSessionFactory sessionFactory;
static {
try{
Reader reader = Resources.getResourceAsReader("mybatis.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
}
catch (Exception e){
System.out.println(e);
}
} public static SqlSession getSession(){
return sessionFactory.openSession();
}
}
8、测试
package cn.scp.mybatis.native_mybatis; import cn.scp.mybatis.native_mybatis.domain.UserDomain;
import cn.scp.mybatis.native_mybatis.mapper.UserMapper;
import cn.scp.mybatis.native_mybatis.util.MybatisUtil;
import org.apache.ibatis.session.SqlSession; public class Main {
public static void main(String[] args) {
SqlSession session = MybatisUtil.getSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
try{
UserDomain userDomain = userMapper.selectById(8);
System.out.println(userDomain);
}
catch (Exception e){
System.out.println(e);
}
}
}
结果:
UserDomain(id=8, name=7, age=11, idCard=null, school=鱼小学, job=null, remark=null, createDate=null, modifyDate=null, deleteFlag=0)
mybatis简单示例的更多相关文章
- JAVA入门[6]-Mybatis简单示例
初次使用Mybatis,先手写一个hello world级别的例子,即根据id查询商品分类详情. 一.建表 create table Category ( Id INT not null, Name ...
- SpringMVC + MyBatis简单示例
该项目基于Maven开发,该项目中包含了MyBatis自动创建表的功能,具体实现查阅MyBatis---自动创建表 源码下载 配置 maven支持pom.xml <project xmlns=& ...
- mybatis 简单使用示例(单独使用):
mybatis的单独使用简单示例: 步骤1: 新建xml文件. 示例: <?xml version="1.0" encoding="UTF-8" ?> ...
- Mybatis的简单示例
首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User ...
- 单独使用MyBatis的简单示例
单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...
- 第一个Mybatis程序示例 Mybatis简介(一)
在JDBC小结中(可以参阅本人JDBC系列文章),介绍到了ORM,其中Mybatis就是一个不错的ORM框架 MyBatis由iBatis演化而来 iBATIS一词来源于“internet”和“aba ...
- Mybatis简单入门--插入数据
1. 开发环境 IDE:IDEA 构建工具:maven4.0.0 MySQL版本:8.0.11. 记得创建好数据库 Mybatis版本:3.5.7 MySQL不同版本的注意事项 驱动类driver-c ...
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
随机推荐
- 【bzoj3512】DZY Loves Math IV 杜教筛+记忆化搜索+欧拉函数
Description 给定n,m,求\(\sum_{i=1}^{n}\sum_{j=1}^{m}\varphi(ij)\)模10^9+7的值. Input 仅一行,两个整数n,m. Output 仅 ...
- Java 中的main方法
public static void main(String args[]) public:表示此方法可以被外部所调用. static:表示此方法可以由类名称直接调用. void:主方法是程序的起点, ...
- 洛谷 P2096 最佳旅游线路
某旅游区的街道成网格状.其中东西向的街道都是旅游街,南北向的街道都是林阴道.由于游客众多,旅游街被规定为单行道,游客在旅游街上只能从西向东走,在林阴道上则既可从南向北走,也可以从北向南走. 阿龙想到这 ...
- JDBC_设计架构_驱动类加载_建立Connection_效率测试
JDBC(Java DataBase Connection) 访问数据库流程:驱动管理器--连接数据库--sql语句--结果集 装载mysql驱动 Class.forName("com.jd ...
- string[] 转换为 int[]
string[] ke=...... int[] output = Array.ConvertAll<string, int>(ke,delegate (string s) { retur ...
- 条目四《用empty来代替检查size()是否为0》
条目四<用empty来代替检查size()是否为0> 首先先说结论: empty()实现为内联函数.(众所周知, 优秀的内联函数的效率比一般函数是高的) 在stl标准库中,empty()对 ...
- swift pod 第三方库异常的处理
Xcode8—Swift开发使用Cocoapods引入第三方库异常处理方法 参考: http://www.jianshu.com/p/23f13be525a0 //podfile文件如下 platf ...
- ansible基本模块-yum
ansible XXX -m yum -a "name=XXX"
- ui-grid样式,表格高度自适应行高,没有滚动条,去掉表头
前后端设置:
- P2763 试题库问题
传送门 显然的网络流,源点向所有题目连流量为1的边,表示一题只能用一次,题目向它的所有类型连边,流量设为1,类型向汇点连边流量为题目需要的该类型的数量 然后最大流 如果最大流小于总需要的类型题目数量则 ...