mybatis基于注解的入门案例:
            把IUserDao.xml移除,在dao接口的方法上使用@Select注解并且指定SQL语句


            同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名


    明确:
        我们在实际开发中,都是越简便越好,所以都是采用不写dao实现类的方式
        不管使用XML还是注解配置
        但是Mybatis它是支持写dao实现类的。

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.dym</groupId><artifactId>gerhrtday01</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency></dependencies></project>

IUserDao.class

package com.dym.dao;import com.dym.domain.User;
import org.apache.ibatis.annotations.Select;import java.util.List;/*** 用户的持久层接口*/
public interface IUserDao {/*** 查询所有操作* @return*/@Select("select * from user")List<User> findAll();
}

User.java

package com.dym.domain;import java.io.Serializable;
import java.util.Date;public class User implements Serializable{private Integer id;private String username;private Date birthday;private String sex;private String address;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", birthday=" + birthday +", sex='" + sex + '\'' +", address='" + address + '\'' +'}';}
}

SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis的主配置文件 -->
<configuration><!-- 配置环境 --><environments default="mysql"><!-- 配置mysql的环境--><environment id="mysql"><!-- 配置事务的类型--><transactionManager type="JDBC"></transactionManager><!-- 配置数据源(连接池) --><dataSource type="POOLED"><!-- 配置连接数据库的4个基本信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件如果是用注解来配置的话,此处应该使用class属性指定被注解的dao全限定类名--><mappers><mapper class="com.dym.dao.IUserDao"/></mappers>
</configuration>

MybatisTest.java

package com.dym.test;import com.dym.dao.IUserDao;
import com.dym.domain.User;
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 java.io.InputStream;
import java.util.List;public class MybatisTest {public static void main(String[] args)throws Exception {//1.读取配置文件InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");//2.创建SqlSessionFactory工厂SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory = builder.build(in);//3.使用工厂生产SqlSession对象SqlSession session = factory.openSession();//4.使用SqlSession创建Dao接口的代理对象IUserDao userDao = session.getMapper(IUserDao.class);//5.使用代理对象执行方法List<User> users = userDao.findAll();for(User user : users){System.out.println(user);}//6.释放资源session.close();in.close();}
}

mybatis基于注解的入门案例相关推荐

  1. MyBatis Plus简介和入门案例

    简介 MyBatis-Plus(以下简称MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有 ...

  2. Mybatis基于注解实现增删查改和多参数列表查询

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 在[Mybatis]Mybatis入门概述及第一个Mybatis实例实现增删改查 和[Myba ...

  3. MyBatis基于注解的使用

    Mybtis注解 增加接口CategoryMapper ,并在接口中声明的方法上,加上注解 增加对CategoryMapper 的映射: <mappers> //com.shop.mapp ...

  4. 02-基于注解的入门案例

    目录 一.方法 一.方法 把 IUserDao.xml 移除,在dao接口的方法上使用@Select注解,并且指定SQL语句. /*** 查询所有* @return*/@Select("se ...

  5. spring整合mybatis基于注解

    数据库 /* Navicat MySQL Data Transfer Source Server         : mysql Source Server Version : 50549 Sourc ...

  6. mybatis基于注解(三)

    定义操作 user 表的注解接口 UserMapper.java package com.ys.annocation;import org.apache.ibatis.annotations.Dele ...

  7. 【Spring】基于注解的IOC案例

    代码结构: bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&quo ...

  8. 基于注解的IOC案例

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  9. Mybatis(4)入门案例中设计模式分析

    1.读配置文件 //1.读取配置文件,连接数据库的信息 InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml&quo ...

最新文章

  1. 《App架构师实践指南》:移动开发的进阶指南
  2. 计算机英语应用研究,计算机英语辅助学习系统的研究与应用-软件工程专业论文.docx...
  3. python库和模块的区别_在函数中导入python库与全局导入之间有何区别?
  4. http协议客户端向服务器端请求时一般需要发送的内容
  5. File类的创建功能
  6. Theano 中文文档 0.9 - 6. 更新Theano
  7. 单位阶跃信号是周期信号吗_直流散热风扇的信号你知道如何控制吗?
  8. linux常见术语示意
  9. Arduboy 游戏机制作参考教程
  10. HANA中SQL之truncate 、delete与drop区别
  11. IIS安装时,安装程序无法复制一个或多个文件。特定错误码是0x4b8
  12. 斯坦福大学公开课:iOS 7应用开发
  13. 考软件测试自学钢琴,新手学钢琴用什么app-自学钢琴比较好的软件推荐 - Iefans...
  14. LeetCode - 加一
  15. NATS中文开发文档:连接
  16. 万事达卡携手中国银行、北汽鹏龙发布联名信用卡
  17. Automatic Software Repair: A Survey 自动软件修复:综述 (2)
  18. 虚拟系统共享文件夹目录下没有文件
  19. 如何能练就成一个卓越的程序员
  20. webm格式怎么转换成mp4?四招快速转换!

热门文章

  1. php curl流方式远程下载大文件
  2. Scala学习笔记--Akka
  3. 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式
  4. VOA,with me
  5. 单元测试之道一:NUnit基础
  6. USB有时adb shell连不上设备
  7. 小米2+android版本,小米2S能刷Android4.4系统吗 小米2S刷Android4.4.2教程
  8. FFmpeg 源码学习(一):avformat_open_input 源码分析
  9. 写在前面-Terraform
  10. POJ 1651 Multiplication Puzzle 区间dp(水