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. d3.js封装文本实现自动换行和旋转平移等功能

    我们下面话不多说,本文主要介绍的是利用D3.js封装文本实现自动换行功能的步骤,下面来一起看看吧. 一.引用 multext.js 文件 multext.js function appendMulti ...

  2. axios 处理并发请求

    //同时发起多个请求时的处理 axios.all([get1(), get2()]) .then(axios.spread(function (res1, res2) { // 只有两个请求都完成才会 ...

  3. 【Excle数据透视表】如何新建数据透视表样式

    如果觉得Excle给出的数据透视表样式不符合自己的心意,可以自己定义一个数据透视表样式 步骤1 单击数据透视表区域任意单元格→数据透视表工具→设计→样式组中的下拉按钮,打开数据透视表样式库→新建数据透 ...

  4. Oracle 删除用户和表空间------创建表空间和用户

    步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...

  5. iOS仿支付宝首页的刷新布局效果

    代码地址如下:http://www.demodashi.com/demo/12753.html XYAlipayRefreshDemo 运行效果 动画效果分析 1.UI需要变动,向上滑动的时候,顶部部 ...

  6. json字符串转为json对象-jQuery.parseJSON()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. C#制作ActiveX控件中调用海康SDK的问题

    事情是这样的,有一台海康威视的摄像头,客户需要一个ActiveX控件嵌入到网页中,通过点击按钮开始录制和结束录制来进行视频的录制和保存,关于海康摄像头的二次开发在此就不多说了,可以参考SDK中的说明. ...

  8. nightwatchjs --Expect element to not include text

    to have NightWatch to find text in a div. browser.assert.containsText('#output', 'find me') But how ...

  9. CNN 防止过拟合的方法

    CNN 防止过拟合的方法 因为数据量的限制以及训练参数的增多,几乎所有大型卷积神经网络都面临着过拟合的问题,目前常用的防止过拟合的方法有下面几种:      1. data augmentation: ...

  10. Python之布尔运算符

    python中的布尔运算符有三种,or,and,not. 布尔运算,根据升序优先进行排序.运算 | 结果 | 提示=============================x or y | x假时,执 ...