mybaits 环境搭建简单示例

本文详细介绍MyBatis环境的搭建过程,包括导入所需jar包、配置文件设置、数据库连接等关键步骤,并提供完整的示例代码。

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

Mybatis简单环境搭建

一搭建流程比较简单,主要分如下几步

1 导入需要的jar

1)       Mybatis jar (可到官网上下载)

2)       Mysql连接数据库jar包:如下图所示

 

2 新建一个项目,添加User

目录为 com.model.User

  mysql中添加wj_user这个表,插入两条数据

  如下图:

 

2 UserMapper实体映射器(这个暂时不用写)     

3 映射器配置文件UserMapper.xml

  关于配置里面已经有了详细的注释,放在com.model目录下

<?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="u1">

<!--resultType和上面-config.xml中的typeAlias里的alias属性对应我个人估计是根据我们给的类完整路径通过反射去获取到一个对象

       parameterType告诉我们缺省参数的类型 -->

    <select id="selectOne" parameterType="int" resultType="user">

       <!--这里参数都是使用#{id}来代替的 -->

       select * from wj_user where id=#{id}

    </select>

</mapper>

 

 

 

 

 

 

 

 

4 配置mybatis-config.xml文件,放在src目录下

  主要有以下配置:

1)  定义数据库连接信息的位置 db.properties(后面会定义)

2)  定义用到的表格对象User

3)  定义数据库连接环境

4)  定义引入的Mapper

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEconfiguration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <!--这里是指定一个数据库连接的配置文件意思是需要一个配置文件让用户指定好数据库的各种信息这里做好文件的映射注意文件必须和改配置文件同名 -->

    <propertiesresource="db.properties"></properties>

    <typeAliases>

       <!--为实体指定别名如果不想取别名后面就必须使用全名这里就是给类名做一个映射而已 -->

       <typeAliasalias="user"type="com.model.User"/>

    </typeAliases>

    <environmentsdefault="development">

       <!--配置多个数据库连接环境这里和 db.properties对应 -->

       <environmentid="development">

           <transactionManagertype="JDBC"/>

           <dataSourcetype="POOLED">

               <property name="driver"value="${driver}"/>

              <propertyname="url"value="${url}"/>

              <propertyname="username"value="${username}"/>

              <propertyname="password"value="${password}"/>

           </dataSource>

       </environment>

    </environments>

    <!--mappers其实就是JAVABEAN对应发XML文件的映射 -->

    <mappers>

       <mapperresource="com/model/UserMapper.xml"/>

    </mappers>

</configuration>

5  配置do.properties文件

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/wanju

username=root

password=root

6 写测试用例

  先写连接,因为操作简单,就写在一个main方法里了

 

    publicstaticvoid main(String[] args) {

         InputStream input;

       try {

           input = Resources.getResourceAsStream("mybiatis-config.xml");

           SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(input);

           // SqlSessionFactoryBuilder 是用过即丢,其生命周期只存在于方法体内

           SqlSession mySession=  sqlSessionFactory.openSession();

//         UserMapper userMapper = mySession.getMapper(UserMapper.class);

//         User user = userMapper.getUser();

           User user=  mySession.selectOne("selectOne",1);

           //这里读取出来之后会自动和你javabean的属性进行映射起来

           System.out.println(user.getName());

           mySession.close();

          

       } catch (IOException e) {

           //TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

 

7 输入结果

8 延伸 其实本例比较特殊 没有用到UserMapper这个接口

     在一般情况下是需要用到这个的,这个接口定义了方法名

    方法名必须和UserMapper.xml里面的 id名字相同

    然后可以通过如下方式来访问

   1)先看的测试类的访问形式

package com.model;

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;

public class BatisTest {

	public static void main(String[] args) {

		InputStream input;
		try {
			input = Resources.getResourceAsStream("mybiatis-config.xml");
			SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(input);
			
			// SqlSessionFactoryBuilder 是用过即丢,其生命周期只存在于方法体内
			SqlSession mySession=  sqlSessionFactory.openSession();
			UserMapper userMapper = mySession.getMapper(UserMapper.class);
			User user = userMapper.getUser(1);
//			User user=  mySession.selectOne("selectOne",1);
			
			
			//这里读取出来之后 会自动和你javabean的属性进行映射起来
			System.out.println(user.getName());
			mySession.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

  2)在userMapper接口添加getUser()方法

package com.model;

public interface UserMapper {

	User getUser(int id);
}


3) 更改xml文件 主要是更改id

<?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.model.UserMapper">

	<!--resultType和上面-config.xml中的typeAlias里的alias属性对应 我个人估计是根据我们给的类完整路径 通过反射去获取到一个对象 
		parameterType告诉我们缺省参数的类型 -->
		<!--这里参数都是使用#{id} 来代替的 -->
	<select id="getUser" parameterType="int" resultType="User">
		select * from wj_user where id=#{id}
	</select>

</mapper>



 

 

说明: 下面的链接是这个项目的源码:

http://www.kuaipan.cn/file/id_140422426734362820.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值