jar包依赖

1.mysql-connector-java-5.1.44.jar

2.mybatis-3.4.5.jar

3.log4j-1.2.17.jar

mybatis-config.xml

1.首先引入dtd 使xml增加提示功能

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

mybatis多环境配置,这里使用的事务管理是jdbc ,datasource 类型为POOLED ,${driver} 引入外部properties里面的属性

数据源 type说明

image.png

3.配置外部properties更灵活,resource默认搜索 src目录

4.新建映射文件 在里面写sql语句,在src目录下创建个mapper包 在里面放映射xml

引入

这里的namespace是添加的java映射接口类

5.创建一个返回类型map,数据库所有字段 , 想在 type中直接用User 需要在configxml中配置别名 请看8.

property是User模型类的字段, column 是数据库中的字段

6.插入语句

insert into user(uname) values (#{uname})

7.定义接口类

package com.interface1;

import java.util.List;

import com.model.User;

public interface UserMapper {

public int insertUser(User user);

public int updateUser(User user);

public int deleteUser(Integer id);

public User selectUserById(Integer id);

public List selectAllUser();

}

8.定义别名,映射文件中直接可以用别名。

9.在config.xml中配置所有映射文件位置

10.配置log4j

### 设置###

log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=E://logs/error.log ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = E://logs/log.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender

log4j.appender.E.File =E://logs/error.log

log4j.appender.E.Append = true

log4j.appender.E.Threshold = ERROR

log4j.appender.E.layout = org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

11.测试类

public static void main(String[] args) {

Logger log = LogManager.getLogger(Test.class);

String resource = "mybatis.xml";

InputStream is = null;

try {

is = Resources.getResourceAsStream(resource);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);

SqlSession session = sf.openSession();

UserMapper umapper = session.getMapper(UserMapper.class);

User user = new User();

user.setUname("ad");

umapper.insertUser(user);

session.close();

}

完整

配置文件结构

MyBatis 配置文件的 configuration 标签主要包括:

configuration 配置

properties 属性

settings 设置

typeAliases 类型命名

typeHandlers 类型处理器

objectFactory 对象工厂

plugins 插件

environments 环境

environment 环境变量

transactionManager 事务管理器

databaseIdProvider 数据库厂商标识

mappers 映射器

在配置文件中,值包含了最基本的 typeAliases 类型命名、 environments 环境和 mappers 映射器。

settings 设置

settings 是 MyBatis 极为重要的设置,它们会改变 MyBatis 的运行时行为,如开启二级缓存、开启延迟加载等。

mappers 映射器

mappers 用于引用已经定义好的映射文件,告诉 MyBatis 去哪寻找映射 SQL 的语句。常见的方法:

(1)通过 resource 加载单个映射文件

(2)通过完全限定资源定位符(绝对路径前加上"file:///")加载单个映射文件

(3)通过 mapper 接口对象加载单个映射文件

(4)通过 mapper 接口包加载整个包的映射文件

注:(3)和(4)中需要将 mapper 接口类名和 mapper.xml 映射文件名称保持一致,且在一个目录中,如:

注解

image.png

例子

package shiyanlou.mybatis.annotation.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;

import org.apache.ibatis.annotations.Insert;

import org.apache.ibatis.annotations.Options;

import org.apache.ibatis.annotations.Param;

import org.apache.ibatis.annotations.Result;

import org.apache.ibatis.annotations.Results;

import org.apache.ibatis.annotations.Select;

import org.apache.ibatis.annotations.Update;

import shiyanlou.mybatis.annotation.model.User;

public interface UserMapper {

/*

* 新增用戶

* @param user

* @return

* @throws Exception

*/

@Insert("insert into user(name,sex,age) values(#{name},#{sex},#{age})")

@Options(useGeneratedKeys=true,keyProperty="id")

public int insertUser(User user) throws Exception;

/*

* 更新用戶

* @param user

* @throws Exception

*/

@Update("update user set age=#{age} where id=#{id}")

public void updateUser(User user) throws Exception;

/*

* 删除用戶

* @param id

* @return

* @throws Exception

*/

@Delete("delete from user where id=#{user_id}")

public int deleteUser(@Param("user_id") Integer id) throws Exception;

/*

* 根据id查询用戶

* @param id

* @return

* @throws Exception

*/

@Select("select * from user where id=#{id}")

@Results({

@Result(id=true,property="id",column="id"),

@Result(property="name",column="name"),

@Result(property="sex",column="sex"),

@Result(property="age",column="age"),

})

public User selectUserById(Integer id) throws Exception;

/*

* 查询所有用戶

* @return

* @throws Exception

*/

@Select("select * from user")

public List selectAllUser() throws Exception;

}

java mybatis配置,mybatis配置——Java版相关推荐

  1. mybatis 配置多数据源 java,SpringBoot+MyBatisPlus配置多数据源读写分离

    首先呢,我们这里使用MySQL的数据库,可以简单配置一下主从备份来实现两个数据库的数据同步 项目的配置目录大概是这样的作为参考 第一步.定义一个枚举类声明当前的数据源类型 package com.yu ...

  2. Java书签 #MyBatis之setMapperLocations配置多个mapper路径的两种方法详解

    楔子:通向幸福的路很多,没有一条叫欲望.- 宫部美雪<火车> 1.今日书签 SpringBoot 集成 MyBatis 的项目中,怎么使用 sqlSessionFactoryBean.se ...

  3. Java Persistence with MyBatis 3(中国版)

    译者的话 前段时间因为工作和学习的须要,我打算深入研究MyBatis框架.于是在网上查找关于MyBatis的教程,发现国内网上关于MyBatis的教程资料少得可怜:除了MyBatis官网上的用户使用手 ...

  4. SpringBoot 精通系列-如何优雅地使用Mybatis的XML配置

    导语   首先Mybatis作为如今最为流行的ORM框架之一,那么首先需要了解的就是什么是ORM框架. 文章目录 ORM框架 为什么需要ORM这种技术呢? Mybatis简介 Mybatis的几个重要 ...

  5. 怎么入门Java?java拦截器怎么配置

    前言: 金九银十过了金三银四还会远嘛,本文后面分享面试题给正准备跳槽,准备找工作的你,这次面试字节跳动也是做了很多的准备,还好顺利拿到了offer,特分享一下这次的4面技术面真题,可能有些记不全了,但 ...

  6. 整合mybatis框架源码 java图片爬虫

    获取[下载地址]   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系 ...

  7. ShardingSphere分库分表(SpringBoot+mybatis+mysql)配置

    一.什么是ShardingSphere 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务. 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增 ...

  8. Mybatis - Mybatis简介到完善Idea配置Mybatis、以及idea连接Mysql数据库方法

    文章目录 MyBatis简介 什么是MyBatis? 持久层 表现层 业务层 持久层 框架 JDBC缺点 1.硬编码 2.操作繁琐 MyBatis简化 MyBatis快速入门 入门案例 创建表.插入数 ...

  9. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

  10. java B2B2C springmvc mybatis电子商务平台源码-Consul服务发现原理...

    Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License ...

最新文章

  1. 启动窗口画面类CSplashWnd
  2. idea_取消自动import .*
  3. 阿里高级技术专家总结6年来的成长和收获
  4. Linux日志服务器的搭建
  5. 云图说|数据仓库服务 GaussDB(DWS) 的“千里眼、顺风耳”—数据库智能运维
  6. 统计学基础学习笔记:描述统计量
  7. json,pickle,shelve序列化和反序列化
  8. ANT发送邮件需要的3个JAR包
  9. 数学分析- 复旦 陈纪修 第一章(集合、映射与函数)
  10. 金蝶KIS专业版V14.1生产任务单|销售单等单据图片打印
  11. ens32文件空白(没有ens33文件)
  12. 数据结构与算法面试题80道
  13. 一个字等于多少个字节?
  14. win10桌面未找到计算机,win10系统保存文件时找不到桌面选项的处理步骤
  15. Windows 10注册表损坏该如何修复?
  16. 树形DP(Simple Tree,玲珑杯 Round#8 B lonlife 1080)
  17. 如何实现不规则的Div外部形状?
  18. Cron表达式学习:每天十二点执行一次:0 0 12 * * ?
  19. 基于肤色高斯概率模型的人脸检测
  20. Word代做,线上兼职,月入过万

热门文章

  1. 【Win 10应用开发】分阶段进行数据绑定
  2. DWR Server Push(服务器推技术) 实现即时聊天功能(WEB)
  3. 一道和逆向和溢出有关的竞赛题分析
  4. 编写一个基于控制台的聊天室程序
  5. Producer-Consumer question : OO 生产者-消费者:面向对象
  6. postman:Could not get any response解决方法
  7. matlab图像的读取和保存
  8. Python selenium 文件自动下载 (自动下载器)
  9. 物联网来了,智能城市离我们还有多远?
  10. 解决 Error:No suitable device found: no device found for connection System eth0