搭建mybatis需要的一些东西

本文详细介绍了一个基于MyBatis框架的实战项目,包括项目的Maven配置、数据库连接配置、日志配置、实体类定义、Mapper接口及XML映射文件的编写等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.如果创建war工程的话,需要添加web.xml文件

右键单击工程名,如下图依次选择Java EE Tools->Generate Deployment Descriptor Stub

2.添加pom.xml文件中的依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.tjetc</groupId>
	<artifactId>20190402-SCTest</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<dependencies>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.3</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.46</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.0.0</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<!--fastjson数据配置start -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.29</version>
		</dependency>
		<!--fastjson数据配置 end -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.taglibs</groupId>
			<artifactId>taglibs-standard-spec</artifactId>
			<version>1.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.taglibs</groupId>
			<artifactId>taglibs-standard-impl</artifactId>
			<version>1.2.1</version>
		</dependency>
	</dependencies>
</project>

在src/main/resources资源类路径下创建三个文件

1.mybatis.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>
	<properties resource="db.properties"></properties>
	<typeAliases>
		<package name="com.tjetc.pojo" /><!-- 设置pojo包下的Java类的别名,使用的时候不区分大小写 -->
	</typeAliases>
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
	</plugins>
	<environments default="dev">
		<environment id="dev">
			<transactionManager type="jdbc"></transactionManager>
			<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>
		<package name="com.tjetc.mapper" /><!-- 配置mapper包下的内容 -->
	</mappers>
</configuration>

2.db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///数据库名称
username=数据库连接名
password=数据库连接密码

3.log4j.properties

log4j.rootLogger=DEBUG, Console 

#Console 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 

log4j.logger.java.sql.ResultSet=INFO 
log4j.logger.org.apache=INFO 
log4j.logger.java.sql.Connection=DEBUG 
log4j.logger.java.sql.Statement=DEBUG 
log4j.logger.java.sql.PreparedStatement=DEBUG

3.创建实体类(我的是Student)

package com.tjetc.pojo;


public class Student{

	private int id;
	private String name;
	private int age;

	public Student() {
		super();
	}

	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public Student(int id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
	}

}

4.在mapper包下创建一个接口和映射文件

StudentMapper.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.tjetc.mapper.StudentMapper"><!-- com.tjetc.mapper.StudentMapper -->
	<cache/>
	<select id="selAll" resultType="student">
		select * from student
	</select>
	<select id="getById" parameterType="_int" resultType="Student" >
		select * from student where id=#{id}
	</select>
	<select id="pageByName" parameterType="string" resultType="student" ><!-- 键值 -->
		select * from student where name like '%${NAME}%' limit #{currentPage},#{pageSize}
	</select>
	<select id="count" parameterType="string" resultType="int" >
		select count(*) from student where name like '%${value}%'
	</select>
	<!-- <insert id="add" parameterType="Student">
		insert into student(name,age) values(#{name},#{age})
	</insert> -->
	<update id="mul" parameterType="student">
		update student set name=#{name},age=#{age} where id=#{id}
	</update>
	<delete id="del" parameterType="int">
		delete from student where id=#{id}
	</delete>
</mapper>

StudentMapper.java

package com.tjetc.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.tjetc.pojo.Student;

public interface StudentMapper {
//	@Select("select * from student")
	List<Student> selAll();
//	@Select("select * from student where id=#{id}")
	Student selById(int id);
//	@Select("Select * from student where name like '%${value}%'")
	List<Student> selPageByName(String name);
	
//	@Select("select count(*) from student where name like '%${value}%'")
	int count(String nameStr);
	
//	@Insert("insert into student(name,age) values(#{name},#{age})")
	void add(Student student);
	
//	@Update("update student set name=#{name},age=#{age} where id=#{id}")
	void mul(Student student);
	
//	@Delete("delete from student where id=#{id}")
	void del(int id);
//	@Select("select * from student where id=#{id}")
	Student getById(int id);
}

5.创建MapperTest (Junit Test Case => New Junit 4 test)

ing...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值