2.第一个MyBatis程序

1.导入jar包

2.定义实体类

3.创建对应的表

4.定义Dao接口

1 public interface StudentDAO {
2     public void saveStudent(Student s);
3 }

5.定义映射文件

  映射文件,简称为mapper,主要完成Dao层中SQL语句的映射。具体映射的配置,后面会详细讲解

  映射文件名随意,一般放在 dao 包中,最好和Dao名称保持一致,我们这里写成mapper.xml

  这个mapper.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 <mapper namespace="test">
 6 <!-- parameterType 可以省略 -->
 7     <insert id="insertStudent">
 8         insert into student (age,name,score) values (#{age},#{name},#{score}); <!-- #{}中写入的是Student类的属性名 -->
 9     </insert>
10 </mapper>

  注意:#{ }中写入的是Student类的属性名

  对于 parameterType 属性,框架会自动根据用户执行的SqlSession方法中的参数自动检测到,所以parameterType 可以省略

6.定义主配置文件

  主配置文件的约束文件同样从文档中找到

  主配置文件名也可以随意命名,这里写成 mybatis.xml

  主配置文件在这里完成两方面的功能:

    1.配置MyBatis运行环境      2.注册映射文件

7.定义Dao实现类

 1 public class StudentDAOImpl implements StudentDAO {
 2
 3     private SqlSession sqlSession;
 4     @Override
 5     public void saveStudent(Student s) {
 6         try {
 7             //1.读取配置文件
 8             InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
 9             //2.创建SqlSessionFactory对象
10             SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
11             //3.创建SqlSession对象
12             sqlSession = factory.openSession();
13             //4.执行操作
14             sqlSession.insert("insertStudent", s);
15             //5.SqlSession提交
16             sqlSession.commit();
17         } catch (IOException e) {
18             e.printStackTrace();
19         } finally {
20             //6.SqlSession关闭
21             if(sqlSession != null) {
22                 sqlSession.close();
23             }
24         }
25     }
26
27 }

8.定义测试类

 1 public class MyTest {
 2
 3     @Test
 4     public void testAdd() {
 5         Student s = new Student();
 6         s.setAge(25);
 7         s.setName("xzk5");
 8         s.setScore(99);
 9
10         StudentDAO studentDAO = new StudentDAOImpl();
11         studentDAO.saveStudent(s);
12     }
13 }

9.添加日志控制文件

MyBatis 使用 Log4j 进行日志处理,而 Login4j2 对其支持并不好,

所以在 MyBatis 中需要 将 log4j.properties 放入到项目的 src 目录下。

若将日志级别设置为 debug,则可以显示出所执行的 SQL 语句、参数值、对 DB 的影响 条数等信息。若将级别设置为 trace,则还可显示出查询出的每条记录的每个字段名及值。

不过,需要注意的是,若日志对象使用根日志对象 rootLogger,则会输出太多的信息

1 ### direct log messages to stdout ###
2 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
3 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
4 log4j.appender.CONSOLE.Target=System.out
5 log4j.appender.CONSOLE.layout.ConversionPattern= %5p %c:%L - %m%n
6
7 log4j.logger.test=DEBUG,CONSOLE

在 MyBatis 中,可以指定要输出日志的工作空间 namespace 的名字。此时,只会输出该namespace 下执行的 SQL 的日志内容

我们这里的 namespace 是 test              <mapper namespace="test">

时间: 2024-10-26 13:44:36

2.第一个MyBatis程序的相关文章

第一个MyBatis程序

最近研究了一些MyBatis技术,虽然工作中还未用到,但是觉得了解一下也是不错的.这里记录了第一个简单的Demo程序,防止自己忘记. 第一步需要配置Mybatis-config.xml文件.注意:这里使用了2种方式对实体类进行了映射.在<Mapper>中,第一个User对象用XMl格式进行映射,第二个Category用注解CategoryMappper格式进行映射. <?xml version="1.0" encoding="UTF-8"?>

第一个MyBatis程序(博客初写者)

第一个Mybatis程序 一.环境: 1.JDK1.8 2.MYSQL5.7 3.IDEA 4.MAVEN 3.63 二.Mybatis认识: 1.查看官方文档 https://mybatis.org/mybatis-3/zh/index.html 2.查看百度百科 https://baike.so.com/doc/5582692-5795562.html MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设

mybatis之第一个mybatis程序(二)

通过接口编程来实现mybatis之第一个mybatis程序(一)中的功能. 1.在src下新建一个com,gong,mybatis.dao的包,在里面新建一个EmployeeDao.java(注意是接口) package com.gong.mybatis.dao; import com.gong.mybatis.bean.Employee; public interface EmployeeDao { public Employee getEmpById(Integer id); } 2.更改E

在 idea 下搭建的第一个MyBatis项目及增删改查用法

Mybatis搭建第一个项目 1. 简介 1.1 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型.接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. 如何获取Mybatis? GitHub 源码:https://gith

mybatis 的第一个 HelloWorld 程序学习

1.准备工作: a.在 MYSQL 中新建一个 mybatis 数据库,并且创建一个 table,在这个表格中录入一条记录. 注:我使用的是 SQLyog,你们也可以使用命令行直接创建库和表. 2.在 eclipse 中创建一个 java 工程: - 创建一个名为 Employee 的 bean 类,并且在这个工程的路径下创建一个 lib 文件夹,用于存放需要的 jar 包. (需要的 jar 包为 mybatis-3.4.1.jar .mysql-connector-java-5.1.37-b

当世界上只剩下一个Java程序员

公元2050年,世界上只剩下了一个Java程序员. 你可能要问了,别的人都去哪儿了?原因很简单, Java没落了. 大约在2030年左右,出现了一个叫做X的语言,它既能做系统级开发(操作系统.数据库.编译器),也能做服务器端的开发,手机端,Web端都不在话下. 更为重要的是,这个新的编程语言和人类的自然语言很接近,无论大人小孩,稍微一学,很快就可以来编程.于是排名前100的语言统统消失了, 程序员们都失业了. Java也不例外,这个昔日的霸主在留下了一堆庞大而复杂的系统以后就不见了. Java程

【Mybatis】Mybatis入门概述及第一个Mybatis实例实现增删改查

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.简介 1.什么是MyBatis MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录.(类似

攻城狮在路上(壹) Hibernate(二)--- 第一个hibernate程序

1.直接通过JDBC API持久化实体域对象: A.java.sql常用接口和类: DriverManager:驱动程序管理器,负责创建数据库连接. Connection:代表数据库连接. Statement:负责执行SQL语句. PreparedStatement:负责执行SQL语句,具有预定义SQL语句的功能. ResultSet:代码SQL查询语句的查询结果集. 2.常用的ORM中间件: Hibernate\Mybatis\Toplink\Torque\ObjectRelationBrid

一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了. 我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥, 该怎么走的时候, 给我方向, 毫不夸张的说,我现在的衣食无忧, 技术马马虎虎, 都是拜他所赐. 所以 我也想分享一些自己的成长过程 以及技术路线 希望一些迷茫的新人