随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

数据库必然要准备好:

然后是相关依赖包:

复制代码
     <dependency><!--mybatis核心依赖-->
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.10</version>
        </dependency>
        <dependency>
            <!--mysql的驱动包-->
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
复制代码

创建相关的类和资源文件:(类中的属性一定是要和数据库表中字段相对应的)

配置数据库连接信息:(mapper就是数据库访问层)

 

复制代码
<?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.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/allstock"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
<!--        <mapper resource="StockMapper.xml"/>-->
        <mapper class="cn.cdulm.mapper.UserMapper"/>
    </mappers>
</configuration>
复制代码

配置数据库查询语句:

复制代码
<?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="cn.cdulm.mapper.UserMapper">  <!--如果绑定的是接口,那么就需要接口的完整限定名-->
    <select id="selectUser" resultType="cn.cdulm.pojo.User">
        select * from user where id = #{id}
    </select>
</mapper>
复制代码

第一种测试方法:

复制代码
    @Test
    public void f() throws IOException {
        String resource = "mybatis.xml";    // 配置文件路径
        InputStream inputStream = Resources.getResourceAsStream(resource);  // 输入流
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);    // 获取session工厂

        try(SqlSession session = sqlSessionFactory.openSession()){  // 获取session
            User user = (User)session.selectOne("cn.cdulm.pojo.UserMapper.selectUser",1);   // 查询的语句(配置文件中配置的namespace跟上配置的sql语句的id),查询的id参数
            System.out.println(user);
        }
    }
复制代码

查询结果:

 第二种接口绑定的方法:

复制代码
  @Test
    public void f2(){
        try(SqlSession session = sqlSessionFactory.openSession()){  // 获取session
            UserMapper mapper = session.getMapper(UserMapper.class);
            User user = mapper.selectUser(1);
            System.out.println(user);
        }
    }
复制代码

需要注意的几点是:

1:<mapper>标签中需要写入对应接口完整限定名

 

 2:namespace是接口完整限定名,id是接口中的方法,Mapper配置文件在编译后需要和接口处于同一目录下

 

 

 

 查询结果:

 

 

增删改查的方法类似,都是xml中配置SQL语句,然后在接口中创建对应方法,然后获取mapper执行。

 

posted on   时间完全不够用啊  阅读(59)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示