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

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

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

                  

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

              

  1. package com.hxzy.mybatis.pojo;
  2.  
  3. import lombok.Data;
  4.   //这里使用了lombok插件 免去了set get 方法
  5. @Data
  6. public class Teacher {
  7. private Integer t_id;
  8. private String t_name;
  9. private String t_address;
  10. }

      

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

  

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <!--配置teacher的xml文件-->
  6.  
  7. <!--
  8. namespace:指定该文件的的唯一标识 路径为实体类对应的全路径 名字是可以随意起名的 但最好规范
  9. resultType:指定返回结果的类型 如果是对象的话 需要写全类名
  10. parameterType :指定参数的类型
  11. 如果有参数的话 比如 select * from student where s_id = #{id}
  12. jdbc 用的是 ?号占位符 而mybatis 用的是#{里面写参数}
  13. -->
  14. <mapper namespace="Teacher">
  15. <select id="one_query" resultType="com.hxzy.mybatis.pojo.Teacher" parameterType="int">
  16. select * from teacher
  17. </select>
  18. </mapper>

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

        

            

  1. package com.hxzy.mybatis.entity;
  2.  
  3. import org.apache.ibatis.annotations.Results;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8.  
  9. import java.io.Reader;
  10.  
  11. public class SqlSession_entity {
  12. private static Reader reader;
  13. private static SqlSessionFactory factory;
  14. static {
  15. //加载mybatis核心配置文件
  16. try {
  17. reader = Resources.getResourceAsReader("mybatis_cnfg.xml");
  18. }catch (Exception e){
  19. System.out.println(e);
  20. }
  21. factory = new SqlSessionFactoryBuilder().build(reader);
  22. }
          //调用这个方法就会返回一个Sqlsession对象
  23. public static SqlSession getSession(){
  24. return factory.openSession();
  25. }
  26. }

        (5) 测试  (Test_mybatis)

      

  1. package com.hxzy.mybatis.test;
  2.  
  3. import com.hxzy.mybatis.entity.SqlSession_entity;
  4. import com.hxzy.mybatis.pojo.Teacher;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.junit.Test;
  7.  
  8. public class Test_mybatis {
  9. @Test
  10. public void test1(){
  11. /**
  12. * 普通的查询
  13. */
  14. //得到SqlSession
  15. SqlSession sqlSession = SqlSession_entity.getSession();
  16. //创建sql语句
  17. String sql = "Teacher.one_query";
  18. Teacher teacher = sqlSession.selectOne(sql);
  19. System.out.println(teacher);
  20. //关闭
  21. sqlSession.close();
  22. }
  23.  
  24. }

    

  

初识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. MathExamLv2——周世元211606348,许燕婷211606338

    结对编程 211606348 周世元 211606338 许燕婷 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) P ...

  2. Word编写代码时输出半角引号

    工具--自动更正选项--键入时自动套用格式,去掉直引号替换为弯引号.

  3. 数组/指针/const/字符串常量的使用传值问题

    #include<stdio.h> #include<string.h> int main() { ] = "abcd"; //常指针a指向字符串常量&qu ...

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

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

  5. SpringBoot配置Shiro时@RequiresRoles不起作用

    在SpringBoot中配置Shiro,结果@RequiresRoles.@RequiresPermissions等注解都无效 解决方法: 在ShiroConfiguration中注入开启支持aop. ...

  6. centos7 ntp服务器配置

    一.ntp服务是什么 1. 定义 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 2. 发展 首次记载在Internet Enginee ...

  7. WSTMart商城系统数据字典

    欢迎来到WSTMart官网  开源多用户商城  QQ交流群: 返回首页|返回首页| 开发手册 | 数据库字典 | 授权查询 | 授权用户登录 | 官方微信扫一扫 x QQ客服 服务热线 020-852 ...

  8. [mongoDB] mongoDb

    mongodb memcached redis        kv数据库(key/value) mongodb 文档数据库,存储的是文档(Bson->json的二进制化). 特点:内部执行引擎为 ...

  9. python 3 print function

    if episode % 50 == 0: print('Episode {} Total Reward: {} counter: {}'.format(episode,G,counter))

  10. Spring MVC之RequestMappingHandlerAdapter初始化

    RequestMappingHandlerAdapter基于注解的处理器适配器,目的是用来执行handler,同时返回modelAndView给前端控制器,这块个人感觉是spring mvc的核心了, ...