mybatis_1
mybatis-config.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="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments> <!-- 加载映射文件 -->
<mappers>
<mapper resource="EmployeeMapper1.xml"/>
<mapper resource="EmployeeMapper2.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"> <!-- demo1 -->
<mapper namespace="org.mybatis.example.EmployMapper">
<select id="selectEmp" resultType="org.entity.Employee">
<!-- 1、命名空间
2、唯一id
3、返回值类型
4、sql中的参数
#{id} 指从传递过来的参数中取出id值 相当于jdbc中的 "?"
select * from employee where id = #{id}
-->
select * from employee where id = #{id}
</select>
</mapper>
package demo1; import java.io.IOException;
import java.io.InputStream; 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 entity.Employee; /**
* 1、创建javaBean 属性名需要跟数据表属性名相对应 如果不同可以再编写sql语句时使用别名 进行匹配
* 2、创建全局配置文件 mybatis-config.xml
* 3、创建SQL映射文件
* 4、将SQL映射文件加载进全局配置文件
* 5、编写代码
* 1)根据xml配置文件(全局配置文件)创建sessionFactory
* 2)sqlSessionFactory.openSession()获取 session
* 3)根据唯一标识执行映射的sql语句,并将结果封装进javaBean
* 4)关闭session
* @author Administrator
*
*/ public class Demo1 {
public static void main(String[] args) throws IOException {
/**
* 1、根据xml配置文件(全局配置文件)创建sessionFactory
*/
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
/**
* 2、获取 session
*/
SqlSession session = sqlSessionFactory.openSession();
/**
* 3、执行映射的sql语句,并将结果封装进javaBean
session.selectList(arg0);
session.select(arg0, arg1);
session.selectMap(arg0, arg1);
session.selectOne(arg0);
session中本身有一些及基础的操作可以结合 mapper.xml 使用
*/
//第一个参数为SQL语句映射,为避免命名冲突可以使用命名空间加id标识
// 第二个参数为sql语句中传入的参数
Employee employee = session.selectOne("org.mybatis.example.EmployMapper.selectEmp",1);
System.out.println(employee.toString());
session.close();
}
}
mybatis_1的更多相关文章
- Mybatis_1(认识)一个简单的HelloWorld
1. 介绍: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBatis可以使用简单的XM ...
- mybatis研究:select性能对比
package sss.mybatis_1; import java.io.InputStream; import java.security.Principal; import java.util. ...
- MyBatis crud操作
Test2.java package com.mycom.mybatis_1.crud; import java.util.List; import org.apache.ibatis.session ...
- MyBatis 查询
User.java package com.mycom.mybatis_1.bean; import java.io.Serializable; public class User implement ...
- MyEclipse xml 手动添加 dtd
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
随机推荐
- foreach 加& 什么意思?
foreach 加&遍历的同时改变原数组即修改数据或者增加数据 foreach 加& 什么意思? 注意:如果我要改变数组某一个值 直接遍历的话原数组是不会变的 下面提供两种方法 1.我 ...
- 【Excle数据透视表】如何为一个字段添加多种分类汇总方式
解决方案1 右键单击人员分类字段包含的任意单元格→右键→字段设置→自定义→(最大值.最小值) 解决方案2 单击人员分类→分析→字段设置
- java如何实现多个线程并发运行
随着计算机技术的发展,编程模型也越来越复杂多样化.但多线程编程模型是目前计算机系统架构的最终模型.随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G.事实上目前3. ...
- 工作总结 npoi 模板 导出公式 excel
Apache POI(5):公式(formula) Apache POI(5):公式(formula) 2016年08月01日 17:44:49 阅读数:1145 package com.hthk ...
- 【COCOS2DX-LUA 脚本开发之四】
使用tolua++编译pkg,从而创建自定义类让Lua脚本使用 本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi ) 转载自[黑米GameDev街区] 原文链接: ...
- unittest 单元测试框架
引入 unittest 框架 相想使用unittest 框架,首先要引入unittest 包 import unittest class Baidu(unittest.TestCase): Baidu ...
- Cannot open channel to 3 at election address :3888 java.net.ConnectException: Connection refused (Connection refused)
关于Linux中搭建分布式时可能遇到的问题 这个问题来自于今天安装zookeeper时踩的一个大坑,害的我花了一天时间.在搭建zookeeper的分布式时,往往要进行这样的配置: server.1=h ...
- Unix编程第7章 进程环境
准备雄心勃勃的看完APUE,但是总感觉看着看着就像进入一本字典,很多地方都是介绍函数的用法的,但是给出例子远不及函数介绍的多.而且这本书还是个大部头呢.第7章的讲的进程环境,进程是程序设计中一个比较重 ...
- The Pilots Brothers' refrigerator - poj 2965
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20325 Accepted: 7830 Special Judg ...
- Android Studio 默认的快捷键
参考资料: 1.http://stormzhang.com/devtools/2014/12/09/android-studio-tutorial3/ Action Mac OSX Win/Linux ...