您的位置:首页 > 编程语言 > Java开发

java 学习笔记--mybatis 三剑客(mybatis)

2018-02-06 15:15 393 查看

Java项目中使用Mybatis入门程序

 

wanna 关注

2017.03.2314:33* 字数270 阅读1243评论0喜欢5

MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。

欢迎访问本人博客:http://wangnan.tech

什么是MyBatis?

MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。

MyBatisgithub

https://github.com/mybatis/mybatis-3

MyBatis文档

http://mybatis.github.io/mybatis-3/zh/index.html

入门程序

想要使用MyBatis只需将mybatis-x.x.x.jar文件置于classpath中。
如果使用Maven构建项目,则需将下面的dependency置于pom.xml中:

   
<dependency>

        
<groupId>
org.mybatis
</groupId>

       
<artifactId>
mybatis
</artifactId>

        
<version>
3.8.2
</version>

    
</dependency>


我选择第二种,在Eclipse中新建一个maven项目

项目结构:

 

01.jpg

各文件介绍:

  • pom文件:由于使用了mySQL数据库,这里还依赖了一个mySQL驱动包
  • 实体类User:
  • UserMapper接口:
  • UserMapper接口的实现,userMapper.xml:
  • 数据源配置configuration.xml
  • 测试类MyBatisTest:
    
<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
      
<modelVersion>
4.0.0
</modelVersion>
 
      
<groupId>
Mybatis
</groupId>
 
      
<artifactId>
Mybatis
</artifactId>
 
      
<version>
0.0.1-SNAPSHOT
</version>
 
      
<dependencies>

        
<dependency>

          
<groupId>
org.mybatis
</groupId>
 
          
<artifactId>
mybatis
</artifactId>
 
          
<version>
3.2.8
</version>

        
</dependency>
 
        
<dependency>

          
<groupId>
mysql
</groupId>
 
          
<artifactId>
mysql-connector-java
</artifactId>
 
          
<version>
5.1.34
</version>

        
</dependency>

      
</dependencies>

     
</project>


  
package
com.mybatis.domain;
 
 
   
public
classUser
{
        
private
Stringname;
        
private
Integerage;
        
         
publicStringgetName()
{
           
return
name;
        }
        
         
publicvoidsetName(Stringname)
{
        
this
.name=name;
        }
        
         
publicIntegergetAge()
{
        
return
age;
        }
        
         
publicvoidsetAge(Integerage)
{
           
this
.age=age;
        }
        
    }
package[code]com.mybatis.mapper;
import[code]com.mybatis.domain.User;
 
public[code]
interfaceUserMapper
{
    
publicUserfindById(StringId)
;
}
   
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--相当于UserMapper接口的实现namespace必须是UserMapper类路径-->

   
<mappernamespace="com.mybatis.mapper.UserMapper">

        
<!--findById必须和接口中的方法名一样返回一个User-->

        
<selectid="findById"parameterType="String"[/code]
       resultType="com.mybatis.domain.User">[code]
        select*fromuserwhereid=#{id}
        
</select>

    
</mapper>


   
<?xmlversion="1.0"encoding="UTF-8"?>

    
<!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">

   
<configuration>

        
<!--数据源配置-->

       
<environmentsdefault="development">

            
<environmentid="development">

                
<transactionManagertype="jdbc"/>

                
<dataSourcetype="POOLED">

                    
<propertyname="driver"value="com.mysql.jdbc.Driver"/>

                    
<propertyname="url"value="jdbc:mysql://localhost:3306/test"/>

                   
<propertyname="username"value="root"/>

                    
<propertyname="password"value="123456"/>

                
</dataSource>

           
</environment>

        
</environments>
<mappers>

            
<!--userMapper.xml装载进来-->

            
<mapperresource="userMapper.xml"/>

        
</mappers>

    
</configuration>


package[code]com.mybatis.test;
 
import[code]com.mybatis.domain.User;
 
import[code]com.mybatis.mapper.UserMapper;
 
import[code]org.apache.ibatis.io.Resources;
import[code]org.apache.ibatis.session.SqlSession;
import[code]org.apache.ibatis.session.SqlSessionFactory;
import[code]org.apache.ibatis.session.SqlSessionFactoryBuilder;
 
import[code]java.io.IOException;
 
 
public[code]
classMyBatisTest
{
   
/***MyBatisSqlSessionFactory*SqlSessionFactory????SqlSession????????????SqlSession??????????commit?rollback?close????*@return*/
privatestaticSqlSessionFactorygetSessionFactory()
{
       SqlSessionFactorysessionFactory=
null
;
       Stringresource=
"configuration.xml"
;
       
try
{
           sessionFactory=
new
SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(
                       resource));
       }
catch
(IOExceptione){
           e.printStackTrace();
       }
       
return
sessionFactory;
   }
 
   
publicstaticvoidmain(String[]args)
{
       SqlSessionsqlSession=getSessionFactory().openSession();
       UserMapperuserMapper=sqlSession.getMapper(UserMapper.class);
       Useruser=userMapper.findById(
"1"
);
       System.out.println(user.getName());
   }
}
 

数据库中插入条数据:
id=”1”name=”wn”age=”23”

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: