设为首页 收藏本站
查看: 819|回复: 0

[经验分享] Mybatis 简明教程(一)

[复制链接]

尚未签到

发表于 2016-11-24 10:06:42 | 显示全部楼层 |阅读模式
  1.mybatis介绍
  1.1 持SQL、Procedure、Advanced Mapping的优秀持久层框架,不过与EJB、Spring相比,称其为组件更合适
  1.2 开源组件,最新版本3.2.0,官方地址 http://code.google.com/p/mybatis/
  2.准备工作
  2.1 mybatis jar包下载   http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DMyBatis
  2.2 mysql驱动下载  http://www.mysql.com/downloads/connector/j/
  3.新建Java工程,MyBatis入门级使用
  3.1  引入mybatis、mysql相关jar包,主要包括
  mysql-connector-java-5.1.23-bin.jar
  mybatis-3.2.0.jar
  log4j-1.2.17.jar
  commons-logging-1.1.1.jar
  其中log4j和commons-loggin是mybatis需要使用的jar包,当然以上jar包版本号不一定要跟本例一样精确
  3.2 创建mybatis所需的配置文件
  (1)创建连接数据库所需的properties文件,如 setting.popertis,并添加连接mysql所需的账号密码以及驱动和链接
  #----注意修改用户名和密码,以和你本机匹配----#
  mysql.driver=com.mysql.jdbc.Driver
         mysql.url=jdbc:mysql://localhost:3306/world
         mysql.username=root
         mysql.password=*****
  (2)创建mybatis的config文件,如命名为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>
<!-- 配置数据源 -->
<environments default = "development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<!-- SQL 映射:此处为对应的sql映射文件 -->
<mappers>
<mapper resource="com/yli/sop/dao/CityMapper.xml"/>
</mappers>
</configuration>
  (3)创建sql映射文件
  注意该文件的放置路径需和(2)中指定的路径一致,本例放在 com.yli.sop.dao 这个package下

<?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">
<!-- 指定sql语句的命名空间,一般以所在包名命名...此处并不是规范的命名... -->
<mapper namespace="city">
<!-- 注意此处配置的传入参数使用resultType,不是resultMap;结果集也一样,配配错了 -->
<select id="queryCityByID" parameterType="hashmap" resultType="hashmap">
<!-- 注意写你自己数据的表名,别写错了 -->
SELECT * FROM city
<where>
<!-- 用 #{key} 的形式从传入参数取值,此处入参类型是HashMap,key即表示HashMap中的key -->
<if test="id != null and id != ''">
id = #{id}
</if>
<if test="id == null or id == ''">
id = -1
</if>
</where>
</select>
<select id="queryCityList" parameterType="hashmap" resultType="hashmap">
SELECT * FROM city limit 0,10
</select>
</mapper>
  3.3 从配置文件加载mybatis配置,做简单测试

package com.yli.sop.test;
import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MybatisTest {
public static void main(String[] args) throws IOException {
// Mybatis配置文件目录
String resource = "config/mybatis.xml";
// 使用Mybatis工具类加载配置文件
Reader reader = Resources.getResourceAsReader(resource);
// 使用SqlSessionFactoryBuilder创建Session工厂
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
// 创建SqlSession,打开连接
SqlSession session = sqlMapper.openSession();
// 配置简单的SQL参数
Map<String, Integer> parameter = new HashMap<String, Integer>();
parameter.put("id", 1);
// 查询单条记录
Map<String, Object> resultMap = session.selectOne("city.queryCityByID", parameter);
System.out.println(resultMap);
// 查询列表
List<Map<String, Object>> resultList = session.selectList("city.queryCityList");
System.out.println(resultList);
// 关闭连接
session.close();
}
}
  以上是Mybatis最简单使用,关于更实用或者企业级的使用,后续再写吧。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-304852-1-1.html 上篇帖子: 【原创】Mybatis学习笔记(一)——Spring集成Mybatis 下篇帖子: Mybatis+ Spring + JTA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表