mybatis基于注解的入门案例
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基于注解的入门案例相关推荐
- MyBatis Plus简介和入门案例
简介 MyBatis-Plus(以下简称MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有 ...
- Mybatis基于注解实现增删查改和多参数列表查询
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 在[Mybatis]Mybatis入门概述及第一个Mybatis实例实现增删改查 和[Myba ...
- MyBatis基于注解的使用
Mybtis注解 增加接口CategoryMapper ,并在接口中声明的方法上,加上注解 增加对CategoryMapper 的映射: <mappers> //com.shop.mapp ...
- 02-基于注解的入门案例
目录 一.方法 一.方法 把 IUserDao.xml 移除,在dao接口的方法上使用@Select注解,并且指定SQL语句. /*** 查询所有* @return*/@Select("se ...
- spring整合mybatis基于注解
数据库 /* Navicat MySQL Data Transfer Source Server : mysql Source Server Version : 50549 Sourc ...
- mybatis基于注解(三)
定义操作 user 表的注解接口 UserMapper.java package com.ys.annocation;import org.apache.ibatis.annotations.Dele ...
- 【Spring】基于注解的IOC案例
代码结构: bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&quo ...
- 基于注解的IOC案例
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- Mybatis(4)入门案例中设计模式分析
1.读配置文件 //1.读取配置文件,连接数据库的信息 InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml&quo ...
最新文章
- 《App架构师实践指南》:移动开发的进阶指南
- 计算机英语应用研究,计算机英语辅助学习系统的研究与应用-软件工程专业论文.docx...
- python库和模块的区别_在函数中导入python库与全局导入之间有何区别?
- http协议客户端向服务器端请求时一般需要发送的内容
- File类的创建功能
- Theano 中文文档 0.9 - 6. 更新Theano
- 单位阶跃信号是周期信号吗_直流散热风扇的信号你知道如何控制吗?
- linux常见术语示意
- Arduboy 游戏机制作参考教程
- HANA中SQL之truncate 、delete与drop区别
- IIS安装时,安装程序无法复制一个或多个文件。特定错误码是0x4b8
- 斯坦福大学公开课:iOS 7应用开发
- 考软件测试自学钢琴,新手学钢琴用什么app-自学钢琴比较好的软件推荐 - Iefans...
- LeetCode - 加一
- NATS中文开发文档:连接
- 万事达卡携手中国银行、北汽鹏龙发布联名信用卡
- Automatic Software Repair: A Survey 自动软件修复:综述 (2)
- 虚拟系统共享文件夹目录下没有文件
- 如何能练就成一个卓越的程序员
- webm格式怎么转换成mp4?四招快速转换!
热门文章
- php curl流方式远程下载大文件
- Scala学习笔记--Akka
- 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式
- VOA,with me
- 单元测试之道一:NUnit基础
- USB有时adb shell连不上设备
- 小米2+android版本,小米2S能刷Android4.4系统吗 小米2S刷Android4.4.2教程
- FFmpeg 源码学习(一):avformat_open_input 源码分析
- 写在前面-Terraform
- POJ 1651 Multiplication Puzzle 区间dp(水