mybatis基于注解的入门案例
生活随笔
收集整理的這篇文章主要介紹了
mybatis基于注解的入门案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mybatis基于注解的入門案例:
?? ??? ??? ?把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL語句
? ? ? ? ? ?
?? ??? ??? ?同時需要在SqlMapConfig.xml中的mapper配置時,使用class屬性指定dao接口的全限定類名。
? ? ? ? ? ?
?? ?明確:
?? ??? ?我們在實際開發(fā)中,都是越簡便越好,所以都是采用不寫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><!-- 配置環(huán)境 --><environments default="mysql"><!-- 配置mysql的環(huán)境--><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.創(chuàng)建SqlSessionFactory工廠SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory = builder.build(in);//3.使用工廠生產SqlSession對象SqlSession session = factory.openSession();//4.使用SqlSession創(chuàng)建Dao接口的代理對象IUserDao userDao = session.getMapper(IUserDao.class);//5.使用代理對象執(zhí)行方法List<User> users = userDao.findAll();for(User user : users){System.out.println(user);}//6.釋放資源session.close();in.close();} }?
總結
以上是生活随笔為你收集整理的mybatis基于注解的入门案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis的入门
- 下一篇: Filter:过滤器