MyBatis框架@纯注解方式对数据库的操作

1.项目pom.xml [导入依赖] 

 <!--mybatis框架-->
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.6</version>
    </dependency>

    <!--连接数据库驱动包-->
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.44</version>
    </dependency>

2.实体类User 中属性: uid,uname,upwd

3.项目的 MyBatis.xml 配置文件  

         位置: Resources文件夹下,项目启动自动运行加载该文件

         功能: * 连接数据库,* 配置实体类路径[权限定:包名+类名]   

<?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>

    <environments default="development">
        <environment id="development">
            <!--事务: 原始的jdbc模式    需要自动 提交  -->
            <transactionManager type="JDBC"/>
            <!--配置连接数据库信息-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/water?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--配置实体类的  映射文件-->
    <mappers>
        <mapper class="com.zzw.mapper.UserMapper"></mapper>
    </mappers>


</configuration>

 

 

 4. UserMapper接口类    [接口类一旦写完,需去mybatis.xml中配置]

package com.zzw.mapper;

import com.zzw.model.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface UserMapper {

    //注解式开发

    //查询所有信息
    @Select("select * from User")
    @Results({
            @Result(property = "uid",column = "uid",id=true),
                @Result(property = "uname",column = "uname"),
                @Result(property = "upwd",column = "upwd")
    })
    public List<User> findAllUser();


    //增加
    @Insert("insert into User(uname,upwd)values(#{uname},#{upwd})")
    @Results({
            @Result(property = "uid" ,column = "uid",id=true),
            @Result(property = "uname" ),
            @Result(property = "upwd")
    })
    public void addUser(User u);


    //修改
    @Update("update User set uname=#{uname},upwd=#{upwd} where uid=#{uid}")
    public int updateUserById(User user);

    //删除
    @Delete("delete from User where uid=#{uid}")
    public int deleteById(int uid);



}

5.测试类       [加载MyBatis.xml文件,测试]

package com.zzw.test;

import com.zzw.mapper.UserMapper;
import com.zzw.model.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import java.util.List;

public class UserTest {

    private  SqlSession sqlSession;

    @Before
    public void before(){
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(this.getClass().getClassLoader().getResourceAsStream("mybatis.xml"));
        sqlSession=sqlSessionFactory.openSession();
    }

    @Test
    public void test(){
        UserMapper um=sqlSession.getMapper(UserMapper.class);

        //查询
        List<User> users=um.findAllUser();
        for (User u : users) {
            System.out.println(u.getUid() + "\t" + u.getUname() + "\t" + u.getUpwd());
        }

        //增加
        User uu=new User("霞飞","321qwe");
        um.addUser(uu);

       //修改
        User u=new User(7,"张国荣","80");
        int n=um.updateUserById(u);
        System.out.println(n+"受影响");

       //删除
        int i=um.deleteById(3);
        System.out.println(i+"受影响");
        
        //提交
        sqlSession.commit();


    }


}

 

 

最后解释以下代码:

第一种
@Select("select * from User")  
@Results({    
        @Result(property = "uid",column = "uid",id=true),
            @Result(property = "uname",column = "uname"),
            @Result(property = "upwd",column = "upwd")
})
public List<User> findAllUser();

//1行:@Select 标识你底下方法要做查询 ,括号中填写查询语句
//2行:类似于以前实体配置文件中的属性
//3,4,5行 中填写你实体类属性  property:实体类属性    column:数据库字段名
//7行 查询的方法

第二种 可省略其中@Results,但必须字段名是一张表中的,若有不同的,则需要手动如第一种 配置。。。
@Select("select * from User")  
public List<User> findAllUser();

 

总结:使用纯注解方式,不再去写实体类配置文件,需注意的是在mybatis.xml文件中,

            * 配置实体类配置文件路径:<mapper resource="com/zzw/model/Province.xml"></mapper>

             * 注解方式(这里使用的):<mapper class="com.zzw.mapper.UserMapper"></mapper>

        

                                                                     坚信:一分耕耘,一份收获!

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值