MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
总而言之MyBatis是一个轻量级简化数据库操作的框架。
MyBatis目前已经迁移到github上,访问下边网址可以获取到MyBatis的各种版本
https://github.com/mybatis/mybatis-3/releases
1.新建sqlMapConfig.xml
访问此地址:http://www.mybatis.org/mybatis-3/zh/getting-started.html
需要替换自己的数据库和用户名及密码
在mappers 中 按 alt+/ 如果没有代码补全的提示,需要手动加入约束。
2.新建mapper包,以及UserMapper.xml
貌似在配置文件的首行写注释会导致一些奇怪的错误,千万不要在首行写注释。
3.导入日志文件
后期进行操作时会有详细的日志提示。
1.建立数据库,表。
2.相关类的创建
User类(需要生成get、set、tostring方法)
package bean;
import java.util.Date;
public class 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_cid` int(11) DEFAULT NULL COMMENT '用户国家id',
*/
private Integer u_id;
private String u_username;
private String u_password;
private String u_sex;
private Integer u_cid;
}
3.测试类
public void Test2() throws IOException
{
String source="sqlMapConfig.xml";
//读取配置文件
InputStream in = Resources.getResourceAsStream(source);
//需要 sqlSeesionFactotyBuliber
SqlSessionFactoryBuilder ssfb= new SqlSessionFactoryBuilder();
//创建sqlSessionfactory
SqlSessionFactory ssf = ssfb.build(in);
//生产一个sqlSession
SqlSession session = ssf.openSession();
//操作数据库
// 第一个参数 要操作的sql语句 第二个是sql语句的参数
User user = session.selectOne("UserMapper.selectUserById",1 );
System.out.println(user);
}
从sqlMapConfig.xml 中得到数据库配置信息。
类似于HashMap 中的 key-value 使用UserMapper.selectUserById 来找到 UserMapper.xml中对应的sql语句
parameterType 为查询数据的类型,resultType 为返回值类型
4.使用JUnit 测试
根据id查询用户
UserMapper.selectUserById:
#{id} 为测试类中传来的参数,需要注意类型匹配
模糊查询用户信息
“王” 替换了 #{vlaue} 即模糊查询 姓名里带 王 的用户。
同理使用 update、delete即可完成更新和删除操作。
项目结构图
博客中的源码地址:https://github.com/wannengdek/MyBatis
如果你觉得我的代码对你有用,麻烦点一下小星星
资料参考http://www.sikiedu.com/
感谢录制免费课程的大佬。