mybatis框架  主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!!

1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单)

        (1)搭建 mybatis框架环境: 所使用的jar包

                  

         (2) 编写实体类 要与数据库中的字段对应  (我的实体类名称叫  Teacher);

              

 package com.hxzy.mybatis.pojo;

 import lombok.Data;
  //这里使用了lombok插件 免去了set get 方法
@Data
public class Teacher {
private Integer t_id;
private String t_name;
private String t_address;
}

      

            (3).编写 sqlMapper的xml文件  (teacherMapper.xml)

  

 <?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">
<!--配置teacher的xml文件--> <!--
namespace:指定该文件的的唯一标识 路径为实体类对应的全路径 名字是可以随意起名的 但最好规范
resultType:指定返回结果的类型 如果是对象的话 需要写全类名
parameterType :指定参数的类型
如果有参数的话 比如 select * from student where s_id = #{id}
jdbc 用的是 ?号占位符 而mybatis 用的是#{里面写参数}
-->
<mapper namespace="Teacher">
<select id="one_query" resultType="com.hxzy.mybatis.pojo.Teacher" parameterType="int">
select * from teacher
</select>
</mapper>

           (4). 编写工厂类 用来返回SqlSessionFactory对象

        

            

package com.hxzy.mybatis.entity;

import org.apache.ibatis.annotations.Results;
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 java.io.Reader; public class SqlSession_entity {
private static Reader reader;
private static SqlSessionFactory factory;
static {
//加载mybatis核心配置文件
try {
reader = Resources.getResourceAsReader("mybatis_cnfg.xml");
}catch (Exception e){
System.out.println(e);
}
factory = new SqlSessionFactoryBuilder().build(reader);
}
      //调用这个方法就会返回一个Sqlsession对象
public static SqlSession getSession(){
return factory.openSession();
}
}

        (5) 测试  (Test_mybatis)

      

package com.hxzy.mybatis.test;

import com.hxzy.mybatis.entity.SqlSession_entity;
import com.hxzy.mybatis.pojo.Teacher;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test; public class Test_mybatis {
@Test
public void test1(){
/**
* 普通的查询
*/
//得到SqlSession
SqlSession sqlSession = SqlSession_entity.getSession();
//创建sql语句
String sql = "Teacher.one_query";
Teacher teacher = sqlSession.selectOne(sql);
System.out.println(teacher);
//关闭
sqlSession.close();
} }

    

  

初识Mybatis框架的更多相关文章

  1. 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)

    此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...

  2. 初识Mybatis框架,实现增删改查等操作

    此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...

  3. MyBatis 框架系列之基础初识

    MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...

  4. Mybatis框架中实现双向一对多关系映射

    学习过Hibernate框架的伙伴们很容易就能简单的配置各种映射关系(Hibernate框架的映射关系在我的blogs中也有详细的讲解),但是在Mybatis框架中我们又如何去实现 一对多的关系映射呢 ...

  5. mybatis入门--初识mybatis

    初识mybatis 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. ...

  6. MyBatis For .NET学习- 初识MyBatis

    MyBatis的框架. Introduction MyBatis本是apache的一个开源项目iBatis,2010年这个项目由 apache software foundation迁移到了googl ...

  7. 初识Mybatis之工程搭建

    简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

  8. MyBatis学习01(初识MyBatis和CRUD操作实现)

    1.初识MyBatis 环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 什么是M ...

  9. Mybatis框架的多对一关联关系(六)

    一.一对多的关联映射 一对多关联查询多表数据 1接口 public interface IDeptDAO { //根据部门编号查询该部门单个查询 public Emp getEmpById(Integ ...

随机推荐

  1. js 判断空数组,空对象!

    var attr1 = [ ]; var obj1 = { }; console.log(isEmpty(attr1)); console.log(isEmpty(obj1)); function i ...

  2. C语言文件实现学生成绩管理

    C语言实现学生成绩管理 项目简介 用C语言的链表及文件操作实现学生成绩的管理,实现主要的添加.修改.删除.查询的主要功能,并在程序关闭时将数据存储在二进制的文件中并加密.下一次打开程序,先解密二进制文 ...

  3. 九度oj-1533 最长上升子序列 (LIS)

    http://ac.jobdu.com/problem.php?pid=1533 题目描述: 给定一个整型数组, 求这个数组的最长严格递增子序列的长度. 譬如序列1 2 2 4 3 的最长严格递增子序 ...

  4. 27.Remove Element(Array)

    Given an array and a value, remove all instances of that value in place and return the new length. T ...

  5. leetcode 121 股票买卖问题系列

    描述: 给一些列数字,表示每条股票的价格,如果可以买卖一次(不能同一天买和卖),求最大利益(即差最大). 其他三道问题是,如果能买卖无限次,买卖两次,买卖k次. 题一: 实质是求后面一个数减前一个数的 ...

  6. MongoDB C# 驱动教程

    C# 驱动版本 v1.6.x 本教程基于C#驱动 v1.6.x . Api 文档见此处: http://api.mongodb.org/csharp/current/. 简介 本教程介绍由10gen支 ...

  7. (转)Java 中关于String的空对象(null) ,空值(empty),空格

    原文出处:Java 中关于String的空对象(null) ,空值(empty),空格 定义 空对象: String s = null; 空对象是指定义一个对象s,但是没有给该对象分配空间,即没有实例 ...

  8. Vue.js基础知识

    <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml&q ...

  9. Makefiles in Linux

    http://www.codeproject.com/Articles/31488/Makefiles-in-Linux-An-Overview

  10. 谈谈WhatsApp一年设计经历和收获

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具.   关于WhatApp和Facebook如何实现规模设计的思考 我已经在Facebook担任产品经理 ...