demo结构

数据库情况 (不会转sql语句 骚瑞)

数据库连接信息 jdbc.properties

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/mysql_demo
  3. jdbc.username=root
  4. jdbc.password=root

javabean Student.class

  1. package entity;
  2.  
  3. public class Student {
  4. private Integer id;
  5. private String name;
  6. private String sex;
  7. private Integer age;
  8. private Integer tId;
  9.  
  10. public Integer getId() {
  11. return id;
  12. }
  13.  
  14. public void setId(Integer id) {
  15. this.id = id;
  16. }
  17.  
  18. public String getName() {
  19. return name;
  20. }
  21.  
  22. public void setName(String name) {
  23. this.name = name;
  24. }
  25.  
  26. public String getSex() {
  27. return sex;
  28. }
  29.  
  30. public void setSex(String sex) {
  31. this.sex = sex;
  32. }
  33.  
  34. public Integer getAge() {
  35. return age;
  36. }
  37.  
  38. public void setAge(Integer age) {
  39. this.age = age;
  40. }
  41.  
  42. public Integer gettId() {
  43. return tId;
  44. }
  45.  
  46. public void settId(Integer tId) {
  47. this.tId = tId;
  48. }
  49. }

mybatis配置 mybatis-cfg.xml

  1. <?xml version="1.0" encoding="UTF-8" ?><!--xml版本声明-->
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--xml约束-->
  4. <configuration> <!--Configuration配置;结构;外形-->
  5.  
  6. <properties resource="resource/jdbc.properties"/> <!--加载配置文件->jdbc.properties 数据库文件-->
  7.  
  8. <typeAliases><!--对象映射的位置-->
  9. <!--<typeAlias type="entity.Student"/>直接写n个对象-->
  10. <!--<package name="entity"/> 扫描包-->
  11. <package name="entity"/>
  12. </typeAliases>
  13. <environments default="mybatis-demo"><!--id随便写-->
  14. <environment id="mybatis-demo"><!--随便写-->
  15. <transactionManager type="JDBC"></transactionManager><!--事务管理器 目前是JDBC 以后交给Spring管理事务-->
  16. <dataSource type="POOLED"><!--数据源 POOLED相当于连接池 池里放链接 -->
  17. <property name="driver" value="${jdbc.driver}"/><!--${}用于读取上面jdbc.properties配置文件-->
  18. <property name="url" value="${jdbc.url}"/>
  19. <property name="username" value="${jdbc.username}"/>
  20. <property name="password" value="${jdbc.password}"/><!--以上是通过反射原理注入-->
  21.  
  22. </dataSource>
  23. </environment>
  24. </environments>
  25. <mappers><!--声明配置的mapper映射位置 可写文件 这里写的是包-->
  26. <package name="dao"/>
  27. </mappers>
  28. </configuration>

定义查询接口StudentMapper.java

  1. import java.util.List;
  2.  
  3. /**
  4. * Created by zekai on 2017/6/10.
  5. */
  6. public interface StudentMapper {//该接口只定义查询方法 不执行具体查询
  7. //接口方法默认自带public
  8. int insertStudent(Student student) throws Exception;// 插入 int判断是否执行成功 成功返回1
  9.  
  10. Student selectOneById(int id) throws Exception;//查询一条数据
  11.  
  12. List<Student> selectAllStudent();//查询列表 封装到list中
  13. }

映射文件 StudentMapper.xml (必须与StudentMapper同名)

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
  5. <mapper namespace="dao.StudentMapper"><!--标志mapper(映射)是哪一个接口的mapper-->
  6. <resultMap id="studentMapper" type="entity.Student"><!--声明mapper的id type表示映射道德javabean-->
  7. <id column="Sid" property="id"/><!--id 主键 column☞数据库 property☞javabean 这里省略了java type等-->
  8. <result property="name" column="Sname"/>
  9. <result property="sex" column="Ssex"/>
  10. <result property="tId" column="Tid"/>
  11. <result property="age" column="SageNum"/>
  12. </resultMap>
  13. <insert id="insertStudent" parameterType="entity.Student" ><!--parameter表示传入参数是啥--><!--对应StudentMapper接口里的方法名-->
  14.  
  15. INSERT INTO student (Sid,Sname,Ssex,Tid,SageNum)VALUES (#{id},#{name},#{sex},#{tId},#{age})
  16. <!--#{}对应studentmapper里的参数-->
  17. </insert>
  18. <select id="selectOneById" resultMap="studentMapper">
  19. SELECT * FROM student WHERE Sid=#{id}
  20. </select>
  21. <select id="selectAllStudent" resultMap="studentMapper"><!--resultType可设定返回类型-->
  22. SELECT *FROM student
  23. </select>
  24. </mapper>

测试方法(debug)  Main.java

  1. import dao.StudentMapper;
  2. import entity.Student;
  3. import org.apache.ibatis.session.SqlSession;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  6.  
  7. import java.io.InputStream;
  8. import java.util.List;
  9. //根据配置文件生成sqlsessionfactory
  10. /**
  11. * Created by zekai on 2017/6/10.
  12. */
  13. public class Main {
  14. public static void main(String[] args) throws Exception {
  15. //io加载配置文件
  16. InputStream in=Main.class.getResourceAsStream("resource/mybatis-cfg.xml");
  17. //用构建器构建一个inputstream
  18. SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in);
  19.  
  20. SqlSession session=factory.openSession();
  21. //取得mapper对象 调用mapper方法
  22. StudentMapper mapper=session.getMapper(StudentMapper.class);
  23. Student student=new Student();
  24. // student.setId(20);
  25. // student.setAge(28);
  26. // student.setName("alowang");
  27. // student.settId(2);
  28. // mapper.insertStudent(student);
  29. // student=mapper.selectOneById(2);
  30. List<Student> studentList=mapper.selectAllStudent();
  31.  
  32. //记得提交 不提交等于啥都没干
  33. session.commit();
  34. //关闭资源
  35. session.close();
  36. }
  37. }

最基础的mybatis入门demo的更多相关文章

  1. Mybatis入门Demo(单表的增删改查)

    1.Mybatis 什么是Mybatis: mybatis是一个持久层框架,用java编写的 它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动.创建连接等繁杂过程 ...

  2. MyBatis 入门Demo

    新建数据库my_db,新建表student_tb id为主键,不自动递增. 不必插入数据. 下载MyBatis https://github.com/mybatis/mybatis-3/release ...

  3. Mybatis入门DEMO

    下面将通过以下步骤说明如何使用MyBatis开发一个简单的DEMO: 步骤一:新建表STUDENTS 字段有: Stu_Id.Stu_Name.Stu_Age.Stu_Birthday CREATE ...

  4. MyBatis基础:MyBatis入门(1)

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

  5. Mybatis入门和简单Demo

    一.Mybatis的诞生 回顾下传统的数据库开发,JDBC和Hibernate是使用最普遍的技术,但这两种ORM框架都存在一定的局限性: JDBC:最原生的技术,简单易学,执行速度快,效率高,适合大数 ...

  6. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  7. MyBatis入门基础(一)

    一:对原生态JDBC问题的总结 新项目要使用mybatis作为持久层框架,由于本人之前一直使用的Hibernate,对mybatis的用法实在欠缺,最近几天计划把mybatis学习一哈,特将学习笔记记 ...

  8. MyBatis入门基础

    转自http://www.cnblogs.com/selene/p/4604605.html 话不多说,先看看原始的JDBC程序代码,看看这样的代码存在什么样子的问题. package com.uti ...

  9. 【SSH系列】初识spring+入门demo

    学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...

随机推荐

  1. Java排序算法之希尔(Shell)排序

    基本思想: 希尔排序就是对直接插入排序的一个优化.现在有一个array,希尔排序就是设定一个增量incrementNum(0<incrementNum<array.length).先从ar ...

  2. Java泛型知识点:泛型类、泛型接口和泛型方法

    有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类. 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有泛型的情况下的容器类如何定义: public class Cont ...

  3. 统计学习方法:核函数(Kernel function)

    作者:桂. 时间:2017-04-26  12:17:42 链接:http://www.cnblogs.com/xingshansi/p/6767980.html 前言 之前分析的感知机.主成分分析( ...

  4. NodeJS 阻塞/非阻塞

    阻塞实例 var fs = require('fs'); var data = fs.readFileSync('test.txt') console.log(data.toString()); co ...

  5. APP反编译第一课《如何找到核心代码》

    相信很多人都应该会去接触APP反编译,本小七给大家带来入门级别套路,自己也在慢慢摸索学习,一起成长吧.第一步,反编译需要的工具有:一.java环境,其实这里你只要安装了burp就不用管这个的二.apk ...

  6. Linux系统优化

    前言:这篇博客主机讲下安装Linux系统后调优及安全设置 基础环境 一.使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 先备份 下载163yum源:http://mirro ...

  7. HTML5 拖放(Drag 和 Drop)功能开发——基础实战

    随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的 ...

  8. Jfinal中Db类的的使用

    Jfinal提供了两种操作数据库的组件,分别是Model类和DB类,可以极大地减少代码量,提高开发效率. Db类提供了在Model类之外更丰富的的数据库操作能力,使用Db类以及嵌套的Record类时, ...

  9. 【Objective-C 基础】4.分类和协议

    1.分类 OC提供了一种与众不同的方式--Category,可以动态的为已经存在的类添加新的行为(方法) 这样可以保证类的原始设计规模较小,功能增加时再逐步扩展. 使用Category对类进行扩展时, ...

  10. python中的一些小知识

    在最近学习python中遇到的一些小问题汇总一下: 1.在windows7下安装python3.5版本时提示安装不了,缺少ServicePack1.  解决办法是,打开控制面板\系统和安全\Windo ...