mybatis项目配置

1.在web目录下创建lib目录,将mybatis所需jar包复制到lib中

其中的ojdbc14.jar不用复制,一共使用6个jar包

在这里插入图片描述
在这里插入图片描述

2.在src下创建包

在这里插入图片描述

3.将mybatis-3-mapper.dtd复制到mapper包中

在这里插入图片描述

4.将log4j.properties和mybatis-3-config.dtd放入src目录下,并在src目录下创建mybatis.xml

在这里插入图片描述

mybatis.xml中内容为

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "./mybatis-3-config.dtd">
<configuration>
	<environments default="mysql">
		<environment id="mysql">
			<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/com.chinasofti.test" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>

	</environments>
	<mappers>
		<mapper resource="com/mapper/DeptMapper.xml"/>
		<mapper resource="com/mapper/EmpMapper.xml" />
	</mappers>

</configuration>

<environments>标签中填写数据库相关信息

<environments default="mysql">
		<environment id="mysql">
			<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/com.chinasofti.test" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>
	</environments>

<mappers>中一个<mapper>对应一个配置文件xml,一个xml对应dao中的一个接口类,接口类对应实体类

在这里插入图片描述

<mappers>
		<mapper resource="com/mapper/DeptMapper.xml"/>
	</mappers>

实体类与表对应,其中定义了属性、getset方法和构造函数。

dao包中接口类写了需要对表进行的增删改查的方法

public interface IDeptDao {
    
    
	Dept getDeptByNo(int deptno);
	void save(Dept dept);
	void del(int deptno);
	void update(Dept dept2);
	List<Dept> getDepts(Page page);
	List<Dept> getDeptsByName(@Param("page") Page page, @Param("dname") String dname);
	int getTotal();
}

接口类中的方法在数据层的实现放在mapper包下的xml配置文件中

id是对应的方法名,resultType是返回值类型,parameterType是参数类型,基本类型直接填写即可,自定义的对象需要标明路径,如com.pojo.Dept

<!-- #{deptno}  ognl表达式 -->
    <select id="getDeptByNo" resultType="com.pojo.Dept" parameterType="int">
    select * from dept where deptno=#{deptno}
    </select>
<select id="getDeptsByName" resultType="com.pojo.Dept">
        select * from dept where 1 = 1
        <if test="dname != null and dname!= ''">
            and dname like concat( concat( '%', #{dname} ), '%')
        </if>
        limit #{page.start},#{page.pagesize}
    </select>

<if>标签用于动态修改sql语句,test中是条件语句

mapper包中创建一个文件就要在mybatis.xml中加一个<mapper>。

5.创建一个主函数测试

			InputStream is = Resources.getResourceAsStream("mybatis.xml");//读取配置文件
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);//连接工厂
			SqlSession session = factory.openSession(true);//获得连接
			IDeptDao dao=session.getMapper(IDeptDao.class);//得到接口类型
			Dept dept=dao.getDeptByNo(1);
			System.out.println(dept);

6.整体步骤

在这里插入图片描述

Guess you like

Origin blog.csdn.net/gua_gehao/article/details/118545830