【SSM_Mybatis】学习笔记02
时间:2019-01-23
本文章向大家介绍【SSM_Mybatis】学习笔记02,主要包括【SSM_Mybatis】学习笔记02使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
三、Mybatis架构图(图来自www.siki.com的学习资料)
四、mybatis官网 http://www.mybatis.org/mybatis-3/
1、下载Mybatis,创建项目、导包
2、准备数据库、测试用例
import java.util.Date;
/**
* CREATE TABLE `user` (
`u_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
`u_username` varchar(64) NOT NULL COMMENT '用户名',
`u_password` varchar(64) DEFAULT NULL COMMENT '用户密码',
`u_sex` varchar(16) DEFAULT NULL COMMENT '用户性别',
`u_createTime` datetime DEFAULT NULL COMMENT '用户创建时间',
`u_cid` int(11) DEFAULT NULL COMMENT '用户国家id',)
*
*/
public class User {
private Integer u_id;
private String u_username;
private String u_password;
private String u_sex;
private Date u_createTime;
private Integer u_cid;
}
3、主配置文件、映射文件
主配置文件,添加约束已经相关配置信息:
<?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>
<!-- 在集成spring不用 -->
<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/ssm_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
映射文件,添加约束:
<?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">
4、编写一个小用例,”通过ID查询用户“。
(1)新建HelloMyBatis
步骤: //读取配置文件,使用inputStream
//需要SqlSessionFactoryBuilder
//生产SqlSessionFactory
//创建SqlSession
//操作数据库
public class HelloMyBatis {
//通过ID查询用户
@Test
public void test1() throws IOException {
//读取配置文件,使用inputStream
String resource = "SqlMapperConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//需要SqlSessionFactoryBuilder
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//生产SqlSessionFactory
SqlSessionFactory ssf = ssfb.build(in);
//创建SqlSession
SqlSession sqlSession = ssf.openSession();
//操作数据库
//参数:一是操作的SQL语句,二是SQL语句的参数。
User user = sqlSession.selectOne("UserMapper.selectUserById",1);
System.out.println(user);
}
}
(2)特别说明:这里利用Junit4测试,做法就是在方法前加上@Test注解。
(3)UserMapper.xml加上<mapper>SQL语句查询标签。
<mapper namespace="UserMapper">
<select id="selectUserById" parameterType="Integer" resultType="com.dunka.mybatis.User">
select * from user where u_id=#{id}
</select>
</mapper>
注意:可以看到查询测例中的代码,用到了selectOne("这里是UserMapper.xml里的namespace+<mapper>的id",传进去的查询参数)
(4)最后附上,log4j.properties的代码,用于查看SQL查询中的DEBUG。
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
(5)结果:
- [喵咪Liunx(3)]端口转发工具rinetd
- 基于PhalApi的Smarty拓展
- PhalGo-参数验证过滤
- [喵咪Redis]Redis配置文件和主从设置
- [喵咪Redis]Redis-Sentinel
- [喵咪Redis]Redis安装与介绍
- [喵咪Liunx(4)Monit进程监控
- 【第四期】GC专题
- ML中相似性度量和距离的计算&Python实现
- ASP.NET MVC Model元数据及其定制: Model元数据的定制
- 小白也可以操作的手机TensorFlow教程:Android版和iOS版
- PhalApi-PHPExcel基于PhalApi的PHPExcel拓展
- [喵咪软件推荐(2)]全球服务器测速工具speedtest-cli
- 使用Keras创建一个卷积神经网络模型,可对手写数字进行识别
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释