mybatis入门程序开发步骤教程

mybatis入门程序

在这里插入图片描述

  1. 新建maven项目

  2. 配置项目jdk

  3. pom.xml导入依赖,非maven项目则导入jar包
    在这里插入图片描述

<dependencies>
		<!-- mybatis依赖包 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.3</version>
		</dependency>
		<!-- 数据库驱动连接包 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.47</version>
		</dependency>
		<!-- log4j日志记录包 -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
	</dependencies>
  1. 配置log4j文件
    如果没有可以新建一个
log4j.properties
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

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs//mybatis//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

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs//mybatis//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
  1. 创建数据库和表
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee`  (
  `empid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(55) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `gender` int(1) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  `mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `email` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `position` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `note` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`empid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES (1, '张三', 1, '1999-10-01', '13554875022', '3265487955@qq.com', '前端工程师', NULL);
INSERT INTO `employee` VALUES (2, '王五', 1, '2020-10-05', '13654458553', '123456@qq.com', '大数据工程师', '新增');
INSERT INTO `employee` VALUES (3, '李刚', 1, '2020-10-02', '12554415223', '2336525412@qq.com', 'java工程师', NULL);
INSERT INTO `employee` VALUES (4, '王超', 1, '1999-06-30', '13555288510', '255561223@qq', 'python工程师', NULL);
INSERT INTO `employee` VALUES (5, '李欣', 0, '2000-10-02', '13655144012', '125456585@qq.com', 'java工程师', NULL);
INSERT INTO `employee` VALUES (18, '李四', 1, '2020-10-07', '1365445855', '123456@qq.com', '工程师', '新增');

SET FOREIGN_KEY_CHECKS = 1;
  1. 创建持久化类(实体类pojo)
public class Employee implements Serializable {

	private static final long serialVersionUID = 1L;
	private Integer empId;
	private String name;
	private Integer gender;
	private Date birthday;
	private String mobile;
	private String email;
	private String position;
	private String note;
	public Integer getEmpId() {
		return empId;
	}
	public void setEmpId(Integer empId) {
		this.empId = empId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getGender() {
		return gender;
	}
	public void setGender(Integer gender) {
		this.gender = gender;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPosition() {
		return position;
	}
	public void setPosition(String position) {
		this.position = position;
	}
	public String getNote() {
		return note;
	}
	public void setNote(String note) {
		this.note = note;
	}
	@Override
	public String toString() {
		return "Employee [empId=" + empId + ", name=" + name + ", gender=" + gender + ", birthday=" + birthday
				+ ", mobile=" + mobile + ", email=" + email + ", position=" + position + ", note=" + note + "]";
	}
	public Employee(String name, Integer gender, Date birthday, String mobile, String email, String position,
			String note) {
		super();
		this.name = name;
		this.gender = gender;
		this.birthday = birthday;
		this.mobile = mobile;
		this.email = email;
		this.position = position;
		this.note = note;
	}
	public Employee() {
		super();
	}
	
}

  1. 创建mybatis映射文件(xxxmapper.xml)
<?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">
<mapper namespace="com.zwh.mapper.EmployeeMapper">
</mapper>
  1. 映射文件中编写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">
<mapper namespace="com.zwh.mapper.EmployeeMapper">

<select id="selectEmployee" parameterType="Integer" resultType="com.zwh.pojo.Employee">
	select * from employee where empid=#{empId}
</select>
</mapper>
  1. 创建mybatis核心配置文件(mybatis-config.xml)
<?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>
	<!-- 配置环境,指定默认的环境 id -->
	<environments default="mysql">
	<!-- 配置 environment 元素定义的环境 id -->
		<environment id="mysql">
		<!-- 事务管理器的配置,使用JDBC事务管理器 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 数据源的配置,使用数据库连接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://127.0.0.1:3306/mybatisdb?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>
	</environments>
	<!-- 配置映射文件mapper.xml的位置 -->
	<mappers>
		<mapper resource="com/zwh/mapper/EmployeeMapper.xml" />
	</mappers>
</configuration>
  1. 编写测试类
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 org.junit.Test;

public class test {
	@Test
	public void selectEmployee() throws IOException {
		/* 读取配置文件 */
		InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
		/* 根据配置文件构建SqlSessionFactory会话工厂 */
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		/* 通过SqlSessionFactory创建SqlSession */
		SqlSession sqlSession = sqlSessionFactory.openSession();
		/* SqlSession执行映射文件中自定义的SQL,并返回映射结果 */
		try {
			Employee employee = sqlSession.selectOne("com.zwh.mapper.EmployeeMapper.selectEmployee", 1);
			System.out.println(employee);
		} finally {
			/*关闭SqlSession*/
			sqlSession.close();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值