MyBatis第一个案例-----永远的HelloWorld 含所有代码

简介: 1.创建表empCREATE DATABASE mybatis;USE mybatis;CREATE TABLE emp(id INT(11) PRIMARY KEY AUTO_INCREMENT,last_name VARCHAR(255),gender CHAR(1),email VARCHAR(255));2.

 

1.创建表emp

CREATE DATABASE mybatis;
USE mybatis;
CREATE TABLE emp(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
last_name VARCHAR(255),
gender CHAR(1),
email VARCHAR(255)
);

2.编写javaBean

package cn.bdqn.mybatis.been;

public class Emp {
	private Integer id;
	private String last_name;
	private String email;
	private String gender;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getLast_name() {
		return last_name;
	}
	public void setLast_name(String last_name) {
		this.last_name = last_name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	@Override
	public String toString() {
		return "Emp [id=" + id + ", last_name=" + last_name + ", email="
				+ email + ", gender=" + gender + "]";
	}
	
	
}

  

3添加需要的jar包

第一个是log4j的jar包(记录日志文件所需) 第二个是mybatis的核心jar包(必须),第三个是mysql的驱动jar包(必须)

4.创建需要的配置文件

 

第一个是SQL映射配置文件,所有的sql语句都写在这个配置文件里面

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace:名称空间  -->
<mapper namespace="cn.bdqn.mybatis.empMapper">
<!--
id,唯一标识 
resultType:返回值类型,bean的全限定名称

#{id},从传递过来的参数中取出id值,相当于换位符
 -->
<select id="selectEmp" resultType="cn.bdqn.mybatis.been.Emp">
select * from emp where id = #{id}
</select>
</mapper>

第二个是log4j记录日志所需

第三个是mybatis全局配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<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://localhost:3306/mybatis?"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</dataSource>
</environment>
</environments>
<!--将我们写好的SQL映射文件一定要注册到全局配置文件中  -->
<mappers>
<mapper resource="empMapper.xml"/>
</mappers>
</configuration>

  5,然后可以编写我们的第一个Hello word

package cn.bdqn.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
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 cn.bdqn.mybatis.been.Emp;
public class MyBatisTest {
	/**
	 * 1.根据xml配置文件(全局配置文件),创建一个SqlSessionFactory对象
	 * 			有数据源的一些运行环境信息
	 * 2.	sql映射文件,配置了每一个sql,以及sql的封装规则等.
	 * 3将sql映射文件注册在全局配置文件中
	 * 4写代码:	
	 * 				1).根据全解决配置文件得到SqlSessionFactory;
	 * 				2)使用SqlSessionFactory工厂获取到SqlSession对象,使用SqlSession实例来执行增删改查
	 * 						一个SqlSession实例就是代表和数据库的一次会话
	 * 				3)使用sql的唯一标识来告诉MyBatis执行哪个sql,sql都是保存在SQL映射文件中(empMapper.xml)
	 * @throws IOException
	 */
	public void test() throws IOException{
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
		/**
		 * 2.获取SqlSession的实例,能够直接执行已经映射的sql语句
		 * sql的唯一标识:statement Unique identifier matching the statement to use
		 * 执行sql要用的参数parameter A parameter object to pass to the statement.
		 */
		SqlSession openSession = sqlSessionFactory.openSession();
		/**
		 * openSession.selectOne(arg0, arg1)
		 * 第一个参数是:nameSpace+id
		 */
		try{
			Emp emp = (Emp)openSession.selectOne("cn.bdqn.mybatis.empMapper.selectEmp", 1);
			System.out.println(emp);
		}finally{
			openSession.close();
		}
		
	
	}

}

  

 

相关文章
|
8月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
|
4月前
|
XML Java 数据库连接
mybatis plus模板快速生成代码
MybatisX 是一款提升开发效率的 IDEA 插件,尤其适用于处理多表情况。通过 MybatisX-Generator,用户能轻松生成实体类、服务类、Mapper 接口及 XML 文件,显著减少工作量。安装步骤简便:通过 File -&gt; Settings -&gt; Plugins -&gt; Browse Repositories 完成搜索与安装流程。集成数据库后,右键所需操作的数据表,选择 MyBatisX-Generator 进行自动化代码生成。更多细节可参考相关教程。
91 0
|
2月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
3月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
176 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
3月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
51 6
|
3月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
764 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
3月前
|
缓存 Java 数据库连接
使用MyBatis缓存的简单案例
MyBatis 是一种流行的持久层框架,支持自定义 SQL 执行、映射及复杂查询。本文介绍了如何在 Spring Boot 项目中集成 MyBatis 并实现一级和二级缓存,以提高查询性能,减少数据库访问。通过具体的电商系统案例,详细讲解了项目搭建、缓存配置、实体类创建、Mapper 编写、Service 层实现及缓存测试等步骤。
|
5月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
8月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
|
7月前
|
SQL 前端开发 Java
我这样写代码,比直接使用 MyBatis 效率提高了 100 倍
Mybatis Hibernate 等都是我们常用的 ORM, 它们有时候很好用,但某些场景下也很繁琐,比如下文要讲的一个需求,最后本文会给出比直接用这些 ORM 开发效率至少提高 100 倍的方法...
69 1
我这样写代码,比直接使用 MyBatis 效率提高了 100 倍