mybatis学习一(最简单的实例)

首先,mybatis的作用可以理解成和hibernate相似来学习。都需要主配置文件,映射文件。

1.需要jar包,

一个是mybatis核心jar包,另一个是连接数据库的驱动jar包,我用的数据库是mysql

2.mybatis主配置文件:configuration.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>
	<typeAliases>
		<!--给实体类起一个别名 user -->
		<typeAlias type="com.entity.User" alias="userTest" />
	</typeAliases>
	<!--数据源配置 这块用 BD2数据库 -->
	<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="mysql" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 -->
		<mapper resource="com/dao/userMapper.xml" />
	</mappers>
</configuration>   

3.实体类:user.java,和普通实体类一样

4.实体类CURD接口:userMapper.java,和hibernate不同的是,hibernate需要实体类,实体类映射文件,dao接口,然后实现类,而mybatis只需要dao接口(一般命名XXMapper.java)然后是基于此接口的映射文件userMapper.xml

package com.dao;

import java.util.List;

import com.entity.User;

public interface UserMapper {
	public User findById(int id);
	public List<User> findAll();
	public void save(User user);
}
----------------------------------------userMapper.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">  
    <!--这块等于dao接口的实现  namespace必须和接口的类路径一样-->  
<mapper namespace="com.dao.UserMapper">  
    <!-- Id必须和接口中的方法名一样  返回一个User  就是刚才的主配置文件中等的实体类别名  如果不弄别名要连类路径一起写 麻烦-->  
    <select id="findById" parameterType="HashMap" resultType="userTest">  
        select * from user where id=#{id}  
    </select>  
    <select id="findAll" parameterType="HashMap" resultType="userTest">
    	select * from user;
    </select>
	

5.测试类Test.java

package com.test;


import java.io.IOException;
import java.util.List;

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 com.dao.UserMapper;
import com.entity.User;

public class Test {
	/** 
     * 获得MyBatis SqlSessionFactory   
     * SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。 
     * @return 
     */  
    private static SqlSessionFactory getSessionFactory() {  
        SqlSessionFactory sessionFactory = null;  
        //读取主配置文件
        String resource = "configuration.xml";  
        try {  
            sessionFactory = new SqlSessionFactoryBuilder().build(Resources  
                    .getResourceAsReader(resource));  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
        return sessionFactory;  
    }  
	public static void main(String[] args) {
		 SqlSession sqlSession = getSessionFactory().openSession();  
	        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);  
	        List<User> list = userMapper.findAll();
	        System.out.println(list.get(0).getName());  
	}
}

6.总结:这是一个最简单的实例,其他留待后期总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值