Mybatis 完全使用注解版实例

1 所谓的注解版,个人理解为 XXXMapper.xml文件省略掉,把需要的各种sql语句写入到了 XXXMapper接口中

如何让 主配置文件找到 接口呢,只需把 下面

<mapper resource="com/model/UserMapper.xml" />

改为

<mapper class="com.model.UserMapper" />

即可,看属性也知道,把资源文件改为了类文件的含义

2 下面是完整主配置文件
   

<?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>
		<!-- 为实体指定别名 如果不想取别名后面就必须使用全名 这里就是给类名做一个映射而已 -->
		<typeAlias alias="user" type="com.model.User" />
	</typeAliases> 
	<environments default="development">
		<!-- 配置多个数据库连接环境这里和 db.properties对应 -->
		<environment id="development">
			<transactionManager type="JDBC" />
			<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其实就是JAVABEAN对应发XML文件的映射 -->

	<mappers>
		<!-- <mapper resource="com/model/UserMapper.xml" /> -->
		<mapper class="com.model.UserMapper" />
	</mappers> 
</configuration>
3 下面是要更改的 Mapper接口

package com.model;

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

public interface UserMapper {

	@Select("select * from wj_user where id=#{id}")
	User getUser(int id);
	@Update("insert into wj_user (name,sex) value( #{name},#{sex})")
	void insertUser(User user);
}
3 下面是测试类 (执行了两个方法 查询和插入)
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());
			User userI = new User();
			userI.setName("doc");
			userI.setSex("hello");
			userMapper.insertUser(userI);
			mySession.commit();
			mySession.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

4 查看执行结果 已经插入了新数据



 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静山晚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值