[ JAVA ] Mybatis接口式编程

1、声明接口

public interface UserMapping {
          
   
    public User getinfo(Integer id);
}

2、Usermappping XML撰写

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="UserMapping">
<!--    namespace:名称空间,此处为借口名称
        id:唯一标识
        resultType:返回类型
-->
    <select id="getinfo" resultMap="User">
<!--        id为函数名称-->
        select * from user where id = #{id}
    </select>
</mapper>

3、config.xml

<?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">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
<!--    需要把自己写的xml配置注册-->
    <mappers>
        <mapper resource="UserMapping.xml"/>
    </mappers>
</configuration>

4、测试代码

import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import java.io.IOException;
import java.io.InputStream;

public class MybatisUtils {
          
   
    private static SqlSessionFactory sqlSessionFactory;
    static {
          
   
        try {
          
   
            /*
            根据xml文件配置创建一个session
             */
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }
        catch (IOException e){
          
   
            System.out.println(e);
        }
    }

    public static void main(String[] args){
          
   
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapping mapper = sqlSession.getMapper(UserMapping.class);
        User user = mapper.getinfo(1);
        System.out.println(user);
        sqlSession.close();
    }

}

insert接口写法

public void insertinfo(@Param("id") Integer id, @Param("name") String name, @Param("number") String number, @Param("major") String major, @Param("old") String old);

XML

<insert id="insertinfo" parameterType="org.example.entity.Student">
    <!--        id为函数名称-->
    insert into user(id,name,number,major,old) values(#{id},#{name},#{number},#{major},#{old})
</insert>
经验分享 程序员 微信小程序 职场和发展