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的更多相关文章

  1. Mybatis_1(认识)一个简单的HelloWorld

    1. 介绍: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBatis可以使用简单的XM ...

  2. mybatis研究:select性能对比

    package sss.mybatis_1; import java.io.InputStream; import java.security.Principal; import java.util. ...

  3. MyBatis crud操作

    Test2.java package com.mycom.mybatis_1.crud; import java.util.List; import org.apache.ibatis.session ...

  4. MyBatis 查询

    User.java package com.mycom.mybatis_1.bean; import java.io.Serializable; public class User implement ...

  5. MyEclipse xml 手动添加 dtd

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

随机推荐

  1. react-native 项目实战 -- 新闻客户端(7) -- 新闻详情页

    http://c.3g.163.com/nc/article/BUH64L0J00031H2L/full.html 观察这个地址,BUH64L0J00031H2L 就是每条新闻数据里的postid.  ...

  2. passwd(总结)

    1.当前用户是root root用户修改密码 ,直接 passwd[不要输入当前用户密码] 如果修改其他用户密码,需要 passwd 用户名 如: passwd sc 短短的密码,如123也能通过,因 ...

  3. mongoDB DOS窗口显示中文

    http://zhidao.baidu.com/question/157276582 由于mongodb后台的字符编码都是utf-8的,而中文windows cmd窗口使用的字符编码是GBK(属性-& ...

  4. 浅谈EntityFramework框架的使用

    第一步,建立一个类库,并且安装好EntityFramework框架还有CodingFirstUsingFluentApi安装包 第二步 : 第三步:配置好你的数据库连接信息,还有你需要操作的数据库,在 ...

  5. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  6. MQTT--入门

    一.简述  MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议 ...

  7. idea实时编译代码

    实时编译就不解释了,出现错误的代码在命令行能给你提示出来.看图操作吧:

  8. MapReduce小文件处理之CombineFileInputFormat实现

    在MapReduce使用过程中.一般会遇到输入文件特别小(几百KB.几十MB).而Hadoop默认会为每一个文件向yarn申请一个container启动map,container的启动关闭是很耗时的. ...

  9. 使用jstl标签报错:According to TLD or attribute directive in tag file, attribute value

    原来jstl标签版本不一样,标签支持不一样. jstl1.0标签库不支持表达式,如: <c:if test="${query01 == null}">   <js ...

  10. Harvard数据库课程CS 265: Research Topics in Database Systems

    CS 265: Research Topics in Database Systems Announcements Quiz 3 will be posted. Good luck! Quiz 2 h ...