mybatis教程从入门到精通

合集下载

mybatis入门教程

mybatis入门教程

mybatis入门教程MyBatis是一种开源的持久层框架,它可以帮助我们简化数据库操作的过程。

本教程将介绍如何使用MyBatis进行基本的数据访问操作。

第一步:创建数据库和表首先,我们需要创建一个数据库和一个表来存储数据。

假设我们创建了一个名为"mybatis_demo"的数据库,并在其中创建了一个名为"users"的表,该表包含id、name和age三个字段。

第二步:引入MyBatis依赖在使用MyBatis之前,我们需要在项目的pom.xml文件中引入MyBatis的依赖。

可以在Maven仓库中找到最新的MyBatis版本,并将其添加到pom.xml文件中。

<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency>第三步:创建数据源配置文件在src/main/resources目录下创建一个名为"mybatis-config.xml"的文件,并在其中配置数据源信息。

以下是一个示例配置:<?xml version="1.0" encoding="UTF-8"?><configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="url"value="jdbc:mysql://localhost:3306/mybatis_demo"/><property name="username" value="root"/></dataSource></environment></environments><mappers><!-- 这里可以配置Mapper接口所在的包 --></mappers></configuration>注意:在实际项目中,我们通常会将数据库连接信息配置在外部的配置文件中,而不是直接写在mybatis-config.xml文件中。

mybatis教程从入门到精通

mybatis教程从入门到精通

mybatis教程从入门到精通什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.orm工具的基本思想无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:1. 从配置文件(通常是XML配置文件中)得到sessionfactory.2. 由sessionfactory 产生session3. 在session 中完成对数据的增删改查和事务提交等.4. 在用完之后关闭session 。

5. 在java 对象和数据库之间有做mapping 的配置文件,也通常是xml 文件。

mybatis实战教程(mybatis in action)之一:开发环境搭建mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。

这些软件工具均可以到各自的官方网站上下载。

首先建立一个名字为MyBaits 的dynamic web project1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。

2. 将mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到web工程的lib 目录.3. 创建mysql 测试数据库和用户表,注意,这里采用的是utf-8 编码创建用户表,并插入一条测试数据程序代码程序代码Create TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) DEFAULT NULL,`userAge` int(11) DEFAULT NULL,`userAddress` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong');到此为止,前期准备工作就完成了。

mybatis入门教程(一)(超简单)

mybatis入门教程(一)(超简单)

mybati‎s第一天mybati‎s的基础知识‎课程安排:mybati‎s和spri‎n gmvc通‎过订单商品案例驱动第一天:基础知识(重点,内容量多)对原生态jd‎b c程序(单独使用jd‎b c开发)问题总结mybati‎s框架原理(掌握)mybati‎s入门程序用户的增、删、改、查mybati‎s开发dao‎两种方法:原始dao开‎发方法(程序需要编写‎d a o接口和‎d a o实现类‎)(掌握)mybait‎s的mapp‎e r接口(相当于dao‎接口)代理开发方法‎(掌握)mybati‎s配置文件S‎q lMapC‎onfig.xmlmybati‎s核心:mybati‎s输入映射(掌握)mybati‎s输出映射(掌握)mybati‎s的动态sq‎l(掌握)第二天:高级知识订单商品数据‎模型分析高级结果集映‎射(一对一、一对多、多对多)mybati‎s延迟加载mybati‎s查询缓存(一级缓存、二级缓存)mybait‎s和spri‎n g进行整合‎(掌握)mybati‎s逆向工程1对原生态jd‎bc程序中问‎题总结1.1环境java环境‎:jdk1.7.0_72eclips‎e:indigo‎mysql:5.11.2创建mysq‎l数据导入下边的脚‎本:sql_ta‎ble.sql:记录表结构sql_da‎t a.sql:记录测试数据‎,在实际企业开‎发中,最后提供一个‎初始化数据脚‎本1.3jdbc程序‎使用jdbc‎查询mysq‎l数据库中用‎户表的记录。

创建java‎工程,加入jar包‎:数据库驱动包‎(m ysql5‎.1)上边的是my‎sql驱动。

下边的是or‎a cle的驱‎动。

程序代码:1.4问题总结1、数据库连接,使用时就创建‎,不使用立即释‎放,对数据库进行‎频繁连接开启‎和关闭,造成数据库资‎源浪费,影响数据库性能。

设想:使用数据库连‎接池管理数据‎库连接。

2、将sql语句‎硬编码到ja‎v a代码中,如果sql 语句修改,需要重新编译‎java代码‎,不利于系统维‎护。

mybatis 知识点

mybatis 知识点

Mybatis 知识点什么是 MybatisMybatis 是一个开源的持久层框架,它提供了一个可以自定义 SQL 映射的方式,以及可以很方便地进行数据库查询和操作的功能。

相比于传统的 ORM 框架,Mybatis 更加灵活,适用于复杂的 SQL 查询和自定义 SQL 语句的情况。

Mybatis 的优点1.灵活性:Mybatis 允许开发者自定义 SQL 映射,可以根据需要编写任意复杂的 SQL 查询语句,更加灵活地操作数据库。

2.性能优化:Mybatis 提供了多种性能优化的手段,比如查询缓存和预编译语句等,可以减少数据库的访问次数,提高系统性能。

3.易于集成:Mybatis 与 Spring 框架完美集成,可以很方便地与 SpringBoot 一起使用,简化开发流程。

Mybatis 的基本使用1. 引入依赖在 Maven 项目的 pom.xml 文件中,添加以下依赖:<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency>2. 配置数据源在 application.properties 文件中配置数据源信息:spring.datasource.url=jdbc:mysql://localhost:3306/mydbername=rootspring.datasource.password=1234563. 创建实体类和 Mapper 接口创建与数据库表对应的实体类和对应的 Mapper 接口,如下所示:public class User {private Long id;private String name;private Integer age;// 省略 getter 和 setter 方法}public interface UserMapper {List<User> getAllUsers();User getUserById(Long id);void addUser(User user);void updateUser(User user);void deleteUser(Long id);}4. 编写 SQL 映射文件在 resources 目录下创建一个 sqlmap 目录,并在该目录下编写 XML 格式的 SQL 映射文件,如下所示:<!-- UserMapper.xml --><mapper namespace="erMapper"><select id="getAllUsers" resultType="er">SELECT * FROM user;</select><select id="getUserById" resultType="er">SELECT * FROM user WHERE id = #{id};</select><insert id="addUser">INSERT INTO user(name, age) VALUES(#{name}, #{age});</insert><update id="updateUser">UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id};</update><delete id="deleteUser">DELETE FROM user WHERE id = #{id};</delete></mapper>5. 配置 Mybatis在 application.properties 文件中配置 Mybatis 相关的配置项,如下所示:mybatis.mapper-locations=classpath*:sqlmap/**/*.xmlmybatis.configuration.map-underscore-to-camel-case=true6. 注入 Mapper在需要使用 Mapper 的地方进行注入,并调用相应的方法即可:@Servicepublic class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic List<User> getAllUsers() {return userMapper.getAllUsers();}// 省略其他方法实现}Mybatis 高级特性动态 SQLMybatis 提供了动态 SQL 的支持,可以根据不同的条件生成不同的 SQL 语句,实现更加灵活的查询。

mybatis入门教程-Mybatis简介与原理

mybatis入门教程-Mybatis简介与原理

【持久化框架】Mybatis简介与原理--夜半什么是Mybatis资料官网:https://mybatis.github.io/mybatis-3/zh/index.html/MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。

MyBatis 提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

MyBatis 是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。

MyBatis 避免了几乎所有的JDBC 代码和手工设置参数以及抽取结果集。

MyBatis使用简单的XML 或注解来配置和映射基本体,将接口和Java 的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

1、mybatis ibatis2、主要是做数据库操作,使用java操作数据库,dao[持久化]技术知识点1、概念2、基本CRUD标签3、动态sql4、一对多,多对一关系5、了解注解式配置学习内容1、理解什么是mybatis,以及mybatis的应用场景2、使用mybatis开发demo3、熟悉mybatis的配置文件,以后spring的时候,没有用。

4、会使用mybatis实现简单增删改查①Insert delete update select 标签使用ORM对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。

从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。

mybatis使用手册

mybatis使用手册

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。

MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

二、mybatis快速入门2.1、准备开发环境1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:2、添加相应的jar包【mybatis】mybatis-3.1.1.jar【MYSQL驱动包】mysql-connector-java-5.1.7-bin.jar3、创建数据库和表,针对MySQL数据库SQL脚本如下:1createdatabase mybatis;2use mybatis;3CREATETABLE users(id INTPRIMARYKEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);4INSERTINTO users(NAME, age) VALUES('孤傲苍狼', 27);5INSERTINTO users(NAME, age) VALUES('白虎神皇', 27);将SQL脚本在MySQL数据库中执行,完成创建数据库和表的操作,如下:到此,前期的开发环境准备工作全部完成。

2.2、使用MyBatis查询表中的数据1、添加Mybatis的配置文件conf.xml在src目录下创建一个conf.xml文件,如下图所示:conf.xml文件中的内容如下:1<?xml version="1.0" encoding="UTF-8"?>2<!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/mybatis-3-config.dtd">3<configuration>4<environments default="development">5<environment id="development">6<transactionManager type="JDBC"/>7<!-- 配置数据库连接信息 -->8<dataSource type="POOLED">9<property name="driver" value="com.mysql.jdbc.Driver"/>10<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> 11<property name="username" value="root"/>12<property name="password" value="XDP"/>13</dataSource>14</environment>15</environments>1617</configuration>2、定义表所对应的实体类,如下图所示:User类的代码如下:1package me.gacl.domain;23/**4 *@author gacl5 * users表所对应的实体类6*/7publicclass User {89//实体类的属性和表的字段名称一一对应10privateint id;11private String name;12privateint age;1314publicint getId() {15return id;16 }1718publicvoid setId(int id) {19this.id = id;20 }2122public String getName() {23return name;24 }2526publicvoid setName(String name) { = name;28 }2930publicint getAge() {31return age;32 }3334publicvoid setAge(int age) {35this.age = age;36 }3738 @Override39public String toString() {40return "User [id=" + id + ", name=" + name + ", age=" + age + "]";41 }42 }3、定义操作users表的sql映射文件userMapper.xml创建一个me.gacl.mapping包,专门用于存放sql映射文件,在包中创建一个userMapper.xml文件,如下图所示:userMapper.xml文件的内容如下:1<?xml version="1.0" encoding="UTF-8" ?>2<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd">3<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的4例如namespace="erMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)5-->6<mapper namespace="erMapper">7<!-- 在select标签中编写查询的SQL语句,设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复8使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型9resultType="er"就表示将查询结果封装成一个User类的对象返回10 User类就是users表所对应的实体类11-->12<!--13根据id查询得到一个user对象14-->15<select id="getUser"parameterType="int"16resultType="er">17 select * from users where id=#{id}18</select>19</mapper>4、在conf.xml文件中注册userMapper.xml文件1<?xml version="1.0" encoding="UTF-8"?>2<!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/mybatis-3-config.dtd">3<configuration>4<environments default="development">5<environment id="development">6<transactionManager type="JDBC"/>7<!-- 配置数据库连接信息 -->8<dataSource type="POOLED">9<property name="driver" value="com.mysql.jdbc.Driver"/>10<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> 11<property name="username" value="root"/>12<property name="password" value="XDP"/>13</dataSource>14</environment>15</environments>1617<mappers>18<!-- 注册userMapper.xml文件,19 userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->20<mapper resource="me/gacl/mapping/userMapper.xml"/>21</mappers>2223</configuration>5、编写测试代码:执行定义的select语句创建一个Test1类,编写如下的测试代码:package me.gacl.test;import java.io.IOException;import java.io.InputStream;import java.io.Reader;import er;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;publicclass Test1 {publicstaticvoid main(String[] args) throws IOException {//mybatis的配置文件String resource = "conf.xml";//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)InputStream is =Test1.class.getClassLoader().getResourceAsStream(resource);//构建sqlSession的工厂SqlSessionFactorysessionFactory =new SqlSessionFactoryBuilder().build(is);//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)//Reader reader = Resources.getResourceAsReader(resource); //构建sqlSession的工厂//SqlSessionFactorysessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中sql的sqlSessionSqlSession session = sessionFactory.openSession();/*** 映射sql的标识字符串,* erMapper是userMapper.xml文件中mapper标签的namespace属性的值,* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL*/String statement = "erMapper.getUser";//映射sql的标识字符串//执行查询返回一个唯一user对象的sqlUser user = session.selectOne(statement, 1);System.out.println(user);}}。

MyBatisPlus入门使用详细教程

MyBatisPlus入门使用详细教程

MyBatisPlus⼊门使⽤详细教程⼀、MyBatis Plus 介绍MyBatis Plus 是国内⼈员开发的 MyBatis 增强⼯具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提⾼效率⽽⽣。

MyBatis Plus 的核⼼功能有:⽀持通⽤的 CRUD、代码⽣成器与条件构造器。

通⽤ CRUD:定义好 Mapper 接⼝后,只需要继承BaseMapper<T>接⼝即可获得通⽤的增删改查功能,⽆需编写任何接⼝⽅法与配置⽂件条件构造器:通过EntityWrapper<T>(实体包装类),可以⽤于拼接 SQL 语句,并且⽀持排序、分组查询等复杂的SQL代码⽣成器:⽀持⼀系列的策略配置与全局配置,⽐ MyBatis 的代码⽣成更好⽤BaseMapper<T>接⼝中通⽤的 CRUD ⽅法:⼆、MyBatis Plus 集成 Spring数据表结构DROP TABLE IF EXISTS `tbl_employee`;CREATE TABLE `tbl_employee` (`id` int(11) NOT NULL AUTO_INCREMENT,`last_name` varchar(50) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`gender` char(1) DEFAULT NULL,`age` int(11) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;pom⽂件<dependencies><!-- MP --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>2.3</version></dependency><!-- 测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!-- 数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency><!-- 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.39</version></dependency><!-- Spring 相关 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.9.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.3.9.RELEASE</version></dependency></dependencies>MyBatis 全局配置⽂件mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><!-- 不作任何配置 --><configuration />数据源db.propertiesjdbc.url=jdbc:mysql://localhost:3306/mpername=rootjdbc.password=1234Spring 配置⽂件applicationContext.xml<!-- 数据源 --><context:property-placeholder location="classpath:db.properties"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="${jdbc.url}"></property><property name="username" value="${ername}"></property><property name="password" value="${jdbc.password}"></property></bean><!-- MP 提供的 MybatisSqlSessionFactoryBean --><bean id="sqlSessionFactoryBean"class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"><!-- 数据源 --><property name="dataSource" ref="dataSource"></property><!-- mybatis 全局配置⽂件 --><property name="configLocation" value="classpath:mybatis-config.xml"></property><!-- 别名处理 --><property name="typeAliasesPackage" value="com.jas.bean"></property><!-- 注⼊全局MP策略配置 --><property name="globalConfig" ref="globalConfiguration"></property><!-- 插件注册 --><property name="plugins"><list><!-- 注册分页插件 --><bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor" /><!-- 注⼊ SQL 性能分析插件,建议在开发环境中使⽤,可以在控制台查看 SQL 执⾏⽇志 --> <bean class="com.baomidou.mybatisplus.plugins.PerformanceInterceptor"><property name="maxTime" value="1000" /><!--SQL 是否格式化默认false--><property name="format" value="true" /></bean></list></property></bean><!-- 定义 MybatisPlus 的全局策略配置--><bean id ="globalConfiguration" class="com.baomidou.mybatisplus.entity.GlobalConfiguration"> <!-- 在 2.3 版本以后,dbColumnUnderline 默认值是 true --><property name="dbColumnUnderline" value="true"></property><!-- 全局的主键策略 --><property name="idType" value="0"></property><!-- 全局的表前缀策略配置 --><property name="tablePrefix" value="tbl_"></property></bean><!-- 配置mybatis 扫描mapper接⼝的路径 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.jas.mapper"></property></bean>三、快速体验 MyBatis Plus实体类Employee@TableName(value = "tbl_employee")public class Employee {@TableId(value = "id", type = IdType.AUTO)private Integer id;@TableField(value = "last_name")private String lastName;private String email;private Integer gender;private Integer age;public Employee() {super();}public Employee(Integer id, String lastName, String email, Integer gender, Integer age) {this.id = id;stName = lastName;this.email = email;this.gender = gender;this.age = age;}// 省略 set、get 与 toString() ⽅法mapper 接⼝/*** 不定义任何接⼝⽅法*/public interface EmployeeMapper extends BaseMapper<Employee> {}在测试类中⽣成测试的 mapper 对象private ApplicationContext context =new ClassPathXmlApplicationContext("classpath:applicationContext.xml");private EmployeeMapper employeeMapper =context.getBean("employeeMapper", EmployeeMapper.class);简单查询测试@Testpublic void getEmpByIdTest() {Employee employee = employeeMapper.selectById(1);System.out.println(employee);}分页查询测试@Testpublic void getEmpByPage() {Page<?> page = new Page<>(1, 5);List<Employee> list = employeeMapper.selectPage(page, null);System.out.println("总记录数:" + page.getTotal());System.out.println("总页数" + page.getPages());System.out.println(list);}条件构造器测试@Testpublic void getEmpByName() {EntityWrapper<Employee> wrapper = new EntityWrapper<>();// 'last_name' 与 'age' 对应数据库中的字段wrapper.like("last_name", "张");wrapper.eq("age", 20);List<Employee> list = employeeMapper.selectList(wrapper);System.out.println(list);}控制台输出的 SQL 分析⽇志上⾯⼏个例⼦中,并没有在EmployeeMapper接⼝中定义任何⽅法,也没有在配置⽂件中编写 SQL 语句,⽽是通过继承BaseMapper<T>接⼝获得通⽤的的增删改查⽅法,复杂的 SQL 也可以使⽤条件构造器拼接。

MyBatis框架基础知识(01)

MyBatis框架基础知识(01)

MyBatis框架基础知识(01)1. MyBatis框架的作用主要作用:简化持久层开发。

持久层:解决项目中的数据持久化处理的相关组件。

使用MyBatis框架实现数据库编程时,只需要指定各个功能对应的抽象方法及需要执行的SQL语句即可。

2. 创建MyBatis项目MyBatis项目可以是本机直接运行的,不一定需要与SpringMVC 框架结合起来一起使用,所以,在创建项目时,只需要创建为jar项目即可。

当项目创建出来之后,需要添加mybatis依赖:<!-- /artifact/org.mybatis/mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version></dependency>然后,还需要添加MyBatis整合Spring框架的mybatis-spring 依赖:<!-- /artifact/org.mybatis/mybatis-spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.4</version></dependency>由于需要整合Spring框架,所以,还需要添加Spring框架的spring-context依赖:<!-- /artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.5.RELEASE</version></dependency>其底层实现是基于JDBC的,所以,还需要添加spring-jdbc依赖:<!-- /artifact/org.springframework/spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.5.RELEASE</version></dependency>本次将使用MySQL数据库,所以,还需要添加mysql-connector-java依赖:<!-- /artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency>在连接数据库时,应该使用数据库连接池,所以,还应该添加commons-dbcp依赖:<!-- /artifact/mons/commons-dbcp2 --><dependency><groupId>mons</groupId><artifactId>commons-dbcp2</artifactId><version>2.7.0</version></dependency>在开发完某个功能后,应该及时检查开发的功能是否可以正常运行,所以,还添加junit单元测试依赖:<!-- /artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency>3. 案例准备工作先登录MySQL控制台,创建名为tedu_ums的数据库:CREATE DATABASE tedu_ums;并使用这个数据库:USE tedu_ums;在这个数据库中,创建一张用户数据表t_user,表中应该包含以下字段:id、用户名(username)、密码(password)、年龄(age)、手机号码(phone)、电子邮箱(email):CREATE TABLE t_user (id int AUTO_INCREMENT,username varchar(20) NOT NULL UNIQUE,password varchar(20) NOT NULL,age int,phone varchar(20),email varchar(50),PRIMARY KEY (id)) DEFAULT CHARSET=utf8;4. 测试项目是否可以正常运行在src/test/java下,创建cn.tedu.spring包,并在这个包中创建ProjectTests测试类,在测试类添加空白的测试方法,以测试JUnit环境是否正常:package cn.tedu.spring;import org.junit.Test;public class ProjectTests {@Testpublic void contextLoads() {System.out.println("ProjectTests.contextLoads()");}}凡是在src/test下的文件,都不会参与项目最终打包、部署,所以,一般在编写单元测试时,对代码规范要求并不那么严格,但是,仍应该尽量遵循开发规范。

MyBatis新手入门

MyBatis新手入门

第一章用MyBatis实现增删查改第一步下载打开http://mybatis.github.io/看这里使劲点它!跳转到这个页面再使劲点它就会跳转到github仓库,看到这个界面注意:这里只是mybatis的一些发表信息,点一下它终于来到这个下载地方了,特么的好累动一下你的手指,滚动到最下方点它转到到这里看,出来了吧,找的我那么辛苦,当时恨不得点烂它!解压出来,进去看到第二步搭建和配置这个目录结构就对了,用MyEclipse创建一个Web Project,把mybatis-3.2.8.jar拷贝粘贴到自己创建的MyEclipse项目中的lib下(不知道哪里是MyEclipse项目的lib文件夹的人建议转行别写代码了),我的结构是这样的为什么里面还多了一个mysql-connector-java-5.1.6-bin.jar呢?它是干嘛用的呢?我顺手拷贝进去的,看到这个mysql的jdbc驱动大家应该明白我要测试用的数据库是mysql,自己随意,用什么数据库就拷贝什么驱动。

MyBatis里面是没有的,网上多得是,自己要什么驱动就去下载什么驱动。

可以动手了动手去src下创建3个包,我是这样子的我个人比较喜欢收缩着看,比较简洁,看这里点它- Package Presentation – Hierarchial,就变成这样这样命名有自己的含义,我打算inter包专门放接口(Interface),model包放Bean,test包放测试类。

创建一个叫mybatis的数据库,在里面创建一个表叫user,表user的结构如下懒人请复制:CREATE TABLE IF NOT EXISTS `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) DEFAULT NULL,`userAge` int(11) DEFAULT NULL,`userAddress` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ; 顺便弄写数据进去INSERT INTO `user` (`id`, `userName`, `userAge`, `userAddress`) VALUES (1, '余小龙', 10, '人民广场'),(3, 'lisiwei', 80, '中山大学南方学院123'),(5, '麦家潮', 20, '中国'),(6, '周杰伦', 30, '北京');在包model下创建一个User类,根据数据库表在类中创建相应的成员变量,如下:private int id;private String userName;private String userAge;private String userAddress;右击鼠标——Source——Generate Getter and Setter点全选——OK,变成这样子创建完User类,接下来在同一个包(model)下创建一个User.xml文件,填以下内容:头部的声明代码太麻烦?懒人请复制<!DOCTYPE mapper PUBLIC"-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd">接下来,定义一个查询方法,根据用户ID查询User表中的某一条记录,在<mapper></mapper>里面写<select>标签是MyBatis的查询标签,id=”selectUserById”随便改,但是,要记住哦,等下会用到的parameterType是参数类型的意思,resultType是结果类型的意思,把查询的结果封装成一个User对象,有人问过我,为什么我经常在一些表名两边加上反冒号`,如:,知道的请跳过以下内容:在mysql中,有些关键字是不能用的,例如order、database、table等等,我在表名user两端加上`,作用就是告诉mysql,我写这个user不是想要调用mysql关键字,这个user仅仅代表我自己定义的数据库表名,mysql的关键字太多,我不能确定user是不是其中之一,不想去查,所以加上``了事,那么mysql 就不管user是不是mysql关键字,就算不小心user真的是关键字,也当user 不起作用,忽略它。

Parch系列 - MyBatis学习笔记

Parch系列 - MyBatis学习笔记
接池的环境配置。mappers 元素是包含所有 mappe(映射器)的列表,这些 mapper 的 XML 文件包 含 SQL 代码和映射定义信息。
3,不使用 XML 构建 SqlSessionFactory
从 Java 程序而非 XML 文件中直接创建配置实例,或创建配置构建器: DataSource dataSource = BlogDataSourceFactory.getBlogDataSource(); TransactionFactory transactionFactory = new JdbcTransactionFactory(); Environment environment = new Environment("development", transactionFactory, dataSource);
(3)XML 配置文件介绍 XML 配置文件包含对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源和决定事务范
围和控制的事务管理器。 示例: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" &ig.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml"/> </mappers> </configuration> XML 头部的声明,需要用来验证 XML 文档正确性。environment 元素体中包含对事务管理和连

Mybatis教程及使用配置

Mybatis教程及使用配置

Mybatis教程及使用配置2013-11-22 | 所属分类:Mybatis 教程入门配置12_17一.Mybatis简介MyBatis由Clinton Begin 在2002 年创建,其后,捐献给了Apache基金会,成立了iBatis 项目。

2010 年5 月,将代码库迁至Google Code,并更名为MyBatis。

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。

MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。

相对Hibe rnate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。

二.从JDBC到Mybatis1. JDBC查询数据库数据,一般需要以下七个步骤:(1)加载JDBC驱动(2)建立并获取数据库连接(3)创建 JDBC Statements 对象(4)设置SQL语句的传入参数(5)执行SQL语句并获得查询结果(6)对查询结果进行转换处理并将处理结果返回(7)释放相关资源(关闭Connection,关闭Statement,关闭ResultSet)实现JDBC有七个步骤,哪些步骤是可以进一步封装的,减少我们开发的代码量?2. JDBC演变到Mybatis过程第一步优化:连接获取和释放问题描述:通过JDBC的方式数据库连接频繁的开启和关闭本身就造成了资源的浪费,影响系统的性能;但是现在连接池多种多样,可能存在变化,有可能采用DBCP的连接池,也有可能采用容器本身的JNDI数据库连接池。

解决问题:数据库连接的获取和关闭我们可以使用数据库连接池来解决资源浪费的问题,通过连接池就可以反复利用已经建立的连接去访问数据库了,减少连接的开启和关闭的时间。

同时通过DataSource进行隔离解耦,统一从DataSource里面获取数据库连接,DataSource 具体由DBCP实现还是由容器的JNDI实现都可以,将DataSource的具体实现通过让用户配置来应对变化。

mybatis的使用方法

mybatis的使用方法

mybatis的使用方法
MyBatis是一个开源的持久层框架,它可以为Java应用程序提供数据库访问的解决方案。

MyBatis优化了Java应用程序与数据库之间的通信过程,提高了应用程序的性能和可维护性。

下面是MyBatis 的使用方法:
1. 配置数据源
在MyBatis中,需要配置数据源来连接数据库。

可以使用JNDI 或者直接在mybatis-config.xml文件中配置数据源。

在该文件中,还可以配置数据库的基本信息,如driver、url、username等。

2. 定义Mapper
Mapper是MyBatis中最重要的组成部分,它用于定义Java对象和数据库表之间的映射关系。

可以使用注解或XML来定义Mapper。

3. 编写SQL语句
在Mapper中,需要编写SQL语句来对数据库进行操作。

可以使用MyBatis提供的动态SQL语句来编写更加灵活的SQL。

4. 执行SQL语句
在Java应用程序中,可以通过MyBatis提供的SqlSession来执行SQL语句。

可以使用SqlSession的方法来进行增删改查等操作。

5. 处理结果集
执行SQL语句后,需要将结果集映射到Java对象中。

可以使用MyBatis提供的ResultMap来进行结果集的映射。

可以使用注解或XML 来定义ResultMap。

以上就是MyBatis的基本使用方法。

通过MyBatis,可以使Java 应用程序更加简洁、高效。

MyBatis使用方法

MyBatis使用方法

MyBatis使用方法使用MyBatis的基本步骤如下:1. 引入MyBatis的依赖:在项目的pom.xml文件中添加MyBatis的依赖,或者将其添加到项目的构建路径中。

2.配置数据源:在项目的配置文件中配置数据库的连接信息,包括数据库驱动类,URL,用户名和密码等。

3. 创建数据模型:创建Java类来表示数据库中的表和字段。

可以使用注解或XML配置来映射Java类和数据库表。

4. 创建Mapper接口:创建一个接口来定义数据库操作的方法。

每个方法都对应一个SQL语句,可以使用注解或XML配置来定义SQL语句。

5. 创建Mapper映射文件:如果使用XML配置来定义SQL语句,需要创建一个与Mapper接口同名的XML文件,并在其中定义SQL语句。

6. 创建SqlSessionFactory:使用MyBatis提供的配置文件和数据源信息创建一个SqlSessionFactory对象。

SqlSessionFactory是MyBatis的核心接口,用于创建SqlSession对象。

7. 创建SqlSession:使用SqlSessionFactory创建SqlSession对象。

SqlSession是与数据库交互的入口,可以通过它执行SQL语句。

8. 执行SQL语句:使用SqlSession对象调用Mapper接口的方法来执行SQL语句。

MyBatis会根据Mapper接口的定义和配置文件中的SQL 语句,自动执行相应的操作。

9. 处理结果:根据SQL语句的类型,可以通过SqlSession的一些方法来获取查询结果。

对于更新和删除操作,可以通过返回的整数值来判断操作是否成功。

10. 关闭SqlSession:在使用完SqlSession后,需要手动关闭它。

可以使用try-with-resources语句来确保SqlSession被正确关闭。

除了上述基本步骤外,MyBatis还提供了一些高级功能,如动态SQL,一对一和一对多关系的映射,缓存等。

Mybatis新手教程之简单入门

Mybatis新手教程之简单入门

Mybatis新⼿教程之简单⼊门1、Mybatis概述 MyBatis 是⽀持普通 SQL 查询(相⽐较于Hibernate的封装,Mybatis是半⾃动化的JDBC封装,⼀个特点就是Mybatis执⾏的SQL查询语句需要⾃⼰在配置⽂件中写),存储过程和⾼级映射的优秀持久层框架。

MyBatis 消除了⼏乎所有的 JDBC 代码和参数的⼿⼯设置以及对结果集的检索。

MyBatis 可以使⽤简单的XML 或注解⽤于配置和原始映射,将接⼝和 Java 的 POJO(Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录。

2、Mybatis原理解析下⾯以Mybatis简单的执⾏流程 1、加载mybatis全局配置⽂件(数据源、mapper映射⽂件等),解析配置⽂件,MyBatis基于XML配置⽂件⽣成Configuration,和⼀个个MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其对应着<select | update | delete | insert>标签项。

2、SqlSessionFactoryBuilder通过Configuration对象⽣成SqlSessionFactory,⽤来开启SqlSession。

3、SqlSession对象完成和数据库的交互: a、⽤户程序调⽤mybatis接⼝层api(即Mapper接⼝中的⽅法) b、SqlSession通过调⽤api的Statement ID找到对应的MappedStatement对象 c、通过Executor(负责动态SQL的⽣成和查询缓存的维护)将MappedStatement对象进⾏解析,sql参数转化、动态sql拼接,⽣成jdbc Statement对象 d、JDBC执⾏sql。

e、借助MappedStatement中的结果映射关系,将返回结果转化成HashMap、JavaBean等存储结构并返回。

mybatis教案

mybatis教案

mybatis教案一、课程目标1. 了解 MyBatis 的基本概念和架构。

2. 掌握 MyBatis 的配置和映射文件的编写。

3. 学习使用MyBatis 进行数据库操作,包括增删改查等基本操作。

4. 理解 MyBatis 的缓存机制和分页功能。

5. 能够使用 MyBatis 集成 Spring 框架进行开发。

二、教学内容1. MyBatis 简介- MyBatis 的特点和优势。

- MyBatis 与其他 ORM 框架的比较。

2. MyBatis 架构- MyBatis 的核心组件介绍。

- MyBatis 的工作原理。

3. MyBatis 配置- MyBatis 配置文件的结构和常用配置项。

- 使用 XML 或注解方式配置数据源、映射文件等。

4. MyBatis 映射文件- 映射文件的作用和语法。

- 主键、列、结果集、关联映射等的配置。

5. MyBatis 数据库操作- 使用 MyBatis 进行增删改查操作的示例。

- 参数传递和动态 SQL 的使用。

6. MyBatis 缓存机制- 一级缓存和二级缓存的原理和配置。

- 缓存的使用场景和注意事项。

7. MyBatis 分页功能- 分页的原理和实现方式。

- 使用 MyBatis 分页插件的配置和使用。

8. MyBatis 与 Spring 整合- Spring 容器中管理 MyBatis 配置和映射文件。

- 使用 Spring 注解实现数据访问。

9. 综合实例- 通过一个完整的项目案例,演示MyBatis 在实际开发中的应用。

10. 总结与展望- 总结课程内容,回顾重点知识。

- 介绍 MyBatis 的发展趋势和应用前景。

三、教学方法1. 理论讲解:通过幻灯片、文档等形式,讲解 MyBatis 的相关概念、架构和原理。

2. 实例演示:通过实际项目案例,演示 MyBatis 的配置、映射文件编写和数据库操作。

3. 动手实践:安排学生在实验环境中进行实际操作,巩固所学知识。

mybatis从入门到精通

mybatis从入门到精通

1、对原生态的jdbc程序问题总结1.1 jdbc程序:使用jdbc查询mysql数据库中用户表的记录1.2 问题:1)数据库连接使用时创建、不使用时就释放:对数据库进行频繁的连接的创建和释放,造成数据库资源浪费,影响数据库性能---------------使用数据库连接池管理数据库连接2)将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java 代码,不利于系统维护-------------将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译3)向prepareStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护-------------------将sql语句及占位符和参数全部配置在xml文件中4)从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护----------------------将结果集自动映射成java对象2、mybatis框架原理2.1 mybatis是什么?mybatis是一个持久层框架,是apache下的顶级项目github下:https:///mybatis/mybatis-3/releasesmybatis让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足sql需要的sql语句mybatis可以将向preparestatement输入的参数自动进行输入映射,将查询结果集灵活映射成java对象(输出映射)。

2.2 mybatis框架\3、mybatis入门程序3.1 需求根据主键查询用户信息根据用户名模糊查询用户信息怎删改查.....3.2 mybati运行环境(jar包):从https:///mybatis/mybatis-3/releases 下载lib下:依赖包mybatis-3.4.1.jar:核心包3.3 log4j.propertie s#Global logging configurationlog4j.rootLogger=ERROR, stdout#MyBatis logging configuration....mybatis.example.BlogMapper=TRACE#Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%5p[%t]-%m%n3.4 工程目录结构3.5 根据用户id查询用户信息、通过用户名模糊查询用户信息3.5.1 编写映射文件(包括对应的实体类:User.java)映射文件命名:User.xml(原始的ibatis命名方式),mapper代理的映射文件名称叫做XXXMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><!--namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离注意:将来如果使用mapper代理方法开发,namespace有特殊作用--><mapper namespace="test"><!--在映射文件中配置许多sql语句--><!--通过select执行数据库查询,id:标识映射文件中的sql,成为statement的id,将sql语句封装到mapperStatement对象中,所以将id成为statement的idparameterType:输入参数的类型#{}:表示一个占位符#{id}:其中id表示输入的参数,参数名就是id,如果输入参数是简单类型,#{}中的参数名可以任意resultType:指定sql输出结果所映射的对象类型--><select id="findUserById" parameterType="int"resultType="er">SELECT * FROM USER WHERE uid=#{id}</select><!--${}:表示拼接sql串,将接收到的参数的内容不加任何修饰拼接到sql中--><select id="findUserByName" parameterType="ng.String"resultType="er">SELECT * FROM USER WHERE name LIKE '%${value}%'</select></mapper>3.5.2 将映射文件加载到SqlMapConfig配置文件中<!--加载映射文件--><mappers><mapper resource="sqlmap/User.xml"/></mappers>3.5.3 程序编写@Testpublicvoid findUserByIdTest()throws IOException{// mybatis配置文件String resource ="SqlMapConfig.xml";InputStream input =Resources.getResourceAsStream(resource);// 创建会话工厂SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(input);// 通过工厂得到SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();// 通过SqlSession操作数据库User user = sqlSession.selectOne("test.findUserById",23);System.out.println(user.getName());// 释放资源sqlSession.close();}// 根据name查询用户信息,得到一条记录的结果@Testpublicvoid findUserByNameTest()throws IOException{// mybatis配置文件String resource ="SqlMapConfig.xml";InputStream input =Resources.getResourceAsStream(resource);// 创建会话工厂SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(input);// 通过工厂得到SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();// 通过SqlSession操作数据库List<User> list = sqlSession.selectList("test.findUserByName","李");System.out.println(list.size());// 释放资源sqlSession.close();}3.6 插入用户信息3.6.1 User.xml映射文件:<!--添加用户parameterType:制定输入参数类型是pojo#{}:中指定pojo属性名,接收到pojo对象的属性值,mybatis通过OGNL获取对象的属性值--><insert id="insertUser" parameterType="er">insert into user(username,password) value(#{username},#{password}) </insert>3.6.2 测试代码:@Testpublicvoid insertUserTest()throws IOException{// mybatis配置文件String resource ="SqlMapConfig.xml";InputStream input =Resources.getResourceAsStream(resource);// 创建会话工厂SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(input);// 通过工厂得到SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();// 通过SqlSession操作数据库User user =new User();user.setUsername("ll");user.setPassword("123456");sqlSession.insert("test.insertUser",user);//提交事务mit();// 释放资源sqlSession.close();}3.7 自增主键返回mysql自增主键,执行insert提交之前自动生成一个自增主键。

mybatis-mrt-2.2Mybatis入门

mybatis-mrt-2.2Mybatis入门

Mybatis 框架课程1Mybatis入门1.1单独使用jdbc编程问题总结1.1.1jdbc程序Public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {//加载数据库驱动Class.forName("com.mysql.jdbc.Driver");//通过驱动管理类获取数据库链接connection =DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?charac terEncoding=utf-8", "root", "mysql");//定义sql语句 ?表示占位符String sql = "select * from user where username = ?";//获取预处理statementpreparedStatement = connection.prepareStatement(sql);//设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值preparedStatement.setString(1, "王五");//向数据库发出sql执行查询,查询出结果集resultSet = preparedStatement.executeQuery();//遍历查询结果集while(resultSet.next()){System.out.println(resultSet.getString("id")+""+resultSet.getString("username"));}} catch (Exception e) {e.printStackTrace();}finally{//释放资源if(resultSet!=null){try {resultSet.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(preparedStatement!=null){try {preparedStatement.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(connection!=null){try {connection.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}上边使用jdbc的原始方法(未经封装)实现了查询数据库表记录的操作。

mybatis hbase 写法

mybatis hbase 写法

mybatis hbase 写法MyBatis HBase写法——从入门到精通HBase是一个分布式、面向列的开源数据库,而MyBatis是一个优秀的持久层框架。

将两者结合使用可以实现对HBase的高效操作。

本文将从入门到精通,一步步回答关于MyBatis HBase写法的问题。

第一步:了解HBase和MyBatis在开始学习MyBatis HBase写法之前,我们首先需要了解HBase和MyBatis的基本概念和使用方式。

HBase是一个面向列的数据库,适用于大数据场景下的高并发读写操作。

它是通过分布式文件系统HDFS存储数据,并提供高性能的读写能力。

HBase采用行列的方式来存储数据,可以根据行键(row key)来进行快速访问。

MyBatis是一个优秀的持久层框架,它可以帮助开发者轻松地进行数据库操作。

MyBatis提供了简洁明了的XML配置方式,支持灵活的SQL映射关系,以及丰富的缓存机制,让开发者可以更加专注于业务逻辑的实现。

第二步:搭建开发环境在开始使用MyBatis HBase之前,我们首先需要搭建好开发环境。

具体步骤如下:1. 安装HBase:可以从HBase官网下载最新的稳定版,并按照官方文档进行安装和配置。

2. 导入HBase相关依赖:在项目的pom.xml文件中添加HBase的依赖库,例如hbase-client、hbase-common等。

3. 导入MyBatis相关依赖:同样在pom.xml文件中添加MyBatis的依赖库,例如mybatis、mybatis-spring等。

4. 配置MyBatis的XML文件:在resources目录下创建mybatis-config.xml文件,配置MyBatis的相关属性,例如数据库连接信息、缓存配置等。

5. 配置HBase的XML文件:同样在resources目录下创建hbase-site.xml文件,配置HBase的相关属性,例如ZooKeeper的地址、HBase根目录等。

mybatis equals 写法 -回复

mybatis equals 写法 -回复

mybatis equals 写法-回复标题:MyBatis Equals 写法:从入门到精通引言:MyBatis 是一个流行的Java 持久化框架,广泛应用于各种规模的项目中。

它提供了一种灵活而强大的方式来编写数据库操作代码。

在使用MyBatis 进行数据查询时,equals(等于)操作在很多场景中都扮演着重要的角色。

本文将深入介绍MyBatis equals 写法,逐步探讨如何使用equals 进行数据查询。

第一部分:MyBatis 简介及equals 使用场景概述- 介绍MyBatis 的基本概念和架构。

- 带入equals 概念,解释在数据查询中的作用。

- 提供基础知识,如何在MyBatis 中编写equals 相关代码。

第二部分:equals 写法的基本语法及示例- 解释在MyBatis 中如何编写equals 语句。

- 提供基本语法示例,以便读者加深理解。

- 强调一些注意事项,并给出避免常见错误的提示。

第三部分:equals 写法的高级用法及最佳实践- 介绍高级的equals 写法,如使用动态SQL、使用关联表进行equals 查询等。

- 提供高级用法示例与分析,帮助读者更深入地理解和应用这些技巧。

- 探讨最佳实践,包括性能优化、代码维护等方面的建议。

第四部分:equals 写法在项目中的实际应用- 通过一个真实项目的案例演示equals 写法。

- 详细展示如何在项目中使用equals 进行查询,解决实际的数据查询问题。

- 分享一些实际项目中遇到的坑和解决方案,帮助读者避免类似问题。

第五部分:总结和建议- 简述MyBatis equals 写法的重要性和使用价值。

- 总结文章内容,强调equals 写法的学习重点和注意事项。

- 提供一些建议和资源链接,供读者深入学习和应用equals 写法。

结语:通过本文的学习,读者将全面了解MyBatis equals 写法的基础知识、高级用法和最佳实践。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mybatis教程从入门到精通什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.orm工具的基本思想无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:1. 从配置文件(通常是XML配置文件中)得到sessionfactory.2. 由sessionfactory 产生session3. 在session 中完成对数据的增删改查和事务提交等.4. 在用完之后关闭session 。

5. 在java 对象和数据库之间有做mapping 的配置文件,也通常是xml 文件。

mybatis实战教程(mybatis in action)之一:开发环境搭建mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。

这些软件工具均可以到各自的官方网站上下载。

首先建立一个名字为MyBaits 的dynamic web project1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。

2. 将mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到web工程的lib 目录.3. 创建mysql 测试数据库和用户表,注意,这里采用的是utf-8 编码创建用户表,并插入一条测试数据程序代码程序代码Create TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) DEFAULT NULL,`userAge` int(11) DEFAULT NULL,`userAddress` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong');到此为止,前期准备工作就完成了。

下面开始真正配置mybatis项目了。

1. 在MyBatis 里面创建两个源码目录,分别为src_user,test_src, 用如下方式建立,鼠标右键点击JavaResource.2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下:程序代码程序代码< ?xml version="1.0" encoding="UTF-8" ?>< !DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd">< configuration><typeAliases><typeAlias alias="User" type="er"/> </typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" /><property name="username" value="root"/><property name="password" value="password"/></dataSource></environment></environments><mappers><mapper resource="com/yihaomen/mybatis/model/User.xml"/></mappers>< /configuration>3. 建立与数据库对应的java class,以及映射文件.在src_user下建立package:com.yihaomen.mybatis.model ,并在这个package 下建立User 类: 程序代码程序代码package com.yihaomen.mybatis.model;public class User {private int id;private String userName;private String userAge;private String userAddress;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {erName = userName;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {erAge = userAge;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {erAddress = userAddress;}}同时建立这个User 的映射文件User.xml:程序代码程序代码< ?xml version="1.0" encoding="UTF-8" ?>< !DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd">< mapper namespace="erMapper"><select id="selectUserByID" parameterType="int" resultType="User">select * from `user` where id = #{id}</select>< /mapper>下面对这几个配置文件解释下:1.Configuration.xml 是mybatis 用来建立sessionFactory 用的,里面主要包含了数据库连接相关东西,还有java 类所对应的别名,比如<typeAlias alias="User" type="er"/> 这个别名非常重要,你在具体的类的映射中,比如User.xml 中resultType 就是对应这里的。

要保持一致,当然这里的resultType 还有另外单独的定义方式,后面再说。

2. Configuration.xml 里面的<mapper resource="com/yihaomen/mybatis/model/User.xml"/>是包含要映射的类的xml配置文件。

3. 在User.xml 文件里面主要是定义各种SQL 语句,以及这些语句的参数,以及要返回的类型等.开始测试在test_src 源码目录下建立com.yihaomen.test这个package,并建立测试类Test:程序代码程序代码package com.yihaomen.test;import java.io.Reader;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 er;public class Test {private static SqlSessionFactory sqlSessionFactory;private static Reader reader;static{try{reader = Resources.getResourceAsReader("Configuration.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);}catch(Exception e){e.printStackTrace();}}public static SqlSessionFactory getSession(){return sqlSessionFactory;}public static void main(String[] args) {SqlSession session = sqlSessionFactory.openSession();try {User user = (User) session.selectOne("erMapper.selectUserByID", 1);System.out.println(user.getUserAddress());System.out.println(user.getUserName());} finally {session.close();}}}现在运行这个程序,是不是得到查询结果了。

相关文档
最新文档