Maven的初次使用(mybatis)

初次新建Maven项目 与 数据库互动(IDEA)


一、Maven的安装及配置

以 小项目 宠物商店 为例 实现用户登录 (用户: 名字、密码)
实现宠物的增删改查 (宠物:名字、性别、类型、年龄、价格)
实现宠物按年龄/价格排序

Maven的安装要求:已安装好jdk 并将jdk添加到系统环境变量JAVA_HOME
Maven的配置:

  1. 添加环境变量 Path中 和 添加MAVEN_HOME
  2. 配置 conf/settings.xml 文件

配置的 目的:Maven 配置本地库位置 和 配置远程镜像 网址(远程仓库要比中央仓库的连接下载速度更快)

  1. 在 idea中进行设置 maven (已汉化版)

二、创建新的maven 项目

基本项目层次 见图
在这里插入图片描述

1. 配置 maven项目中的 pom.xml 文件,用来 添加配置
1)添加管理依赖 jdbc 驱动管理依赖 和 mybatis的管理依赖
(jdbc 版本 8.0.25 本地有可以直接快捷键 alt+insert 添加,没有可到官网查找)

	   <!--管理依赖项-->
数据库依赖
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
 mybatis依赖      
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

三、Mybatis的使用

Mybatis是 半自动化的框架 不用写 jdbc 但是要写 sql,作用是方便优化

  1. 使用步骤 导入依赖 -> 编写配置文件 -> 编写映射接口 -> 编写映射接口的配置文件 -> 调用映射接口

1**). 配置文件 resources 下添加 mybatis-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>
    <settings>
        <!--下划线映射骆驼命名  实体类名 petName  自动对应数据库中字段 pet_-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!--环境配置-->
    <environments default="development">
        <environment id="development">
            <!--事务管理器-->
            <transactionManager type="JDBC"></transactionManager>
            **<!--数据源 对应相应的数据库 即项目需要使用的那个数据库 名字 用户 密码-->**
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/db_pets?serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

2)映射接口的编写Mapper(必须要有对应的实体类)编写实现增删改查的方法

public interface PetsMapper {
    /**
     * 显示所有宠物
     */
    List<Pet> showAllPets();

    //按名字查找宠物
    @Select("select * from school.tb_pets where pet_name = #{name}")
    Pet findPetByName(String name);

    //添加宠物到系统
    void addNewPet(Pet pet);

    //修改指定名字的宠物
    void updatePetByName(@Param("name")String name ,@Param("pet") Pet pet);

    //按名字删除宠物
    void deletePetByName(String name);

    //按年龄排序
    List<Pet> sortByAge();

    //按体重排序
    List<Pet> sortByPrice();

    //用户登录的实现
    List<User> userLink(@Param("user") String user, @Param("password") String password);
}

3)添加接口的映射配置 resources中加新的文件夹 mapper 添加 PetMapper.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="com.hopu.day8.mapper.StudentMapper">
 配置插入语句 (依照插入语句语法书写id是方法名 parameterType是参数类型 #{stuName}是读取属性值)
<!--配置插入语句 -->
加红的便是对应接口的方法
<!--命名空间是接口的完整路径-->
<mapper namespace="com.hopu.anamilsstore.mapper.PetsMapper">

    <!--配置插入语句-->
    <insert id="addNewPet" parameterType="com.hopu.anamilsstore.entity.Pet">
        insert into school.tb_pets(pet_name, pet_sex, pet_type, pet_age, pet_price) values 
        (#{petName},#{petSex},#{petType},#{petAge},#{petPrice})
    </insert>
    
    <!--遍历-->
    <select id="showAllPets" resultType="com.hopu.anamilsstore.entity.Pet">
        select * from school.tb_pets
    </select>

    <!--更新-->
    <update id="updatePetByName" parameterType="com.hopu.anamilsstore.entity.Pet">
        update school.tb_pets set
        pet_name = #{pet.petName}, pet_sex = #{pet.petSex}, pet_type = #{pet.petType}, pet_age = #{pet.petAge}, pet_price = #{pet.petPrice}
        where pet_name = #{name}
    </update>
    
    <!--删除-->
    <delete id="deletePetByName" parameterType="com.hopu.anamilsstore.entity.Pet">
        delete from school.tb_pets where pet_name = #{name}
    </delete>

    <!--带排序的查询-->
    <select id="sortByAge" resultType="com.hopu.anamilsstore.entity.Pet">
        select * from school.tb_pets order by pet_age
    </select>

    <select id="sortByPrice" resultType="com.hopu.anamilsstore.entity.Pet">
        select * from school.tb_pets order by pet_price
    </select>

    <!--用户登录实现-->
    <select id="userLink" resultType="com.hopu.anamilsstore.entity.User">
        select * from school.tb_user where u_name = #{user} and u_password = #{password}
    </select>

</mapper>

此处可用注解的方式 来代替原来配置文件中样式:
接口中:

 void deletePetByName(String name);

配置文件中对应的 语句:

 <!--删除-->
    <delete id="deletePetByName" parameterType="com.hopu.anamilsstore.entity.Pet">
        delete from school.tb_pets where pet_name = #{name}
    </delete>

如果用注解的方式 直接使用SQL语句(无需配置文件)

用注解直接在接口处 使用 sql语句

@Select("sql语句")@Delete("sql语句")....

 //按名字查找宠物
    @Select("select * from school.tb_pets where pet_name = #{name}")
    Pet findPetByName(String name);

注解的其他使用
可以使用注解 在接口中定义多个 参数完成上传

//修改指定名字的宠物
    void updatePetByName(@Param("name")String name ,@Param("pet") Pet pet);

对应的配置文件中对参数的使用

<!--更新-->
    <update id="updatePetByName" parameterType="com.hopu.anamilsstore.entity.Pet">
        update school.tb_pets set
        pet_name = #{pet.petName}, pet_sex = #{pet.petSex}, pet_type = #{pet.petType}, pet_age = #{pet.petAge}, pet_price = #{pet.petPrice}
        where pet_name = #{name}
    </update>

4)在mybatis中添加配置 配置对应的映射文件的位置(对上面发的照项目层次)

<!--配置映射文件的位置-->
    <mappers>
        <mapper resource="mapper/PetsMapper.xml"></mapper>
    </mappers>

5)调用接口 创建新的java 类 进行功能的测试

基本步骤 :

创建会话器工厂

//创建会话工厂创建器
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

创建会话 连接到mybatis的配置文件

SqlSessionFactory factory = builder.build(Resources.getResourceAsStream("mybatis-config.xml"));
//创建会话
SqlSession sqlSession = factory.openSession();

获得映射接口对象连接到接口类

//获得映射接口对象
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

调用接口

mapper.接口内方法名(参数)

提交语句

 //提交语句
 sqlSession.commit();

此处取一例来展示

```java
/**
 * app功能类
 */
public class AppDao {

    //创建会话工厂创建器
    static SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    Scanner scanner = new Scanner(System.in);

    /**
     * 展示全部宠物
     */
    public void showAll(){
        //创建工厂
        try {

            SqlSessionFactory factory = builder.build(Resources.getResourceAsStream("mybatis-configs.xml"));
            //创建会话
            SqlSession sqlSession = factory.openSession();
            //获得映射接口对象
            PetsMapper mapper = sqlSession.getMapper(PetsMapper.class);
            //调用接口
            List<Pet> pets = mapper.showAllPets();;
            for(Pet pet : pets){
                System.out.println(pet);
            }
            //提交语句
            sqlSession.commit();
            pets = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

结果的展示
在这里插入图片描述
全文参考 点击查看

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven项目中配置MyBatis需要进行以下几个步骤: 1. 在pom.xml中添加MyBatis和数据库驱动的依赖。例如,对于MySQL数据库和MyBatis 3.x版本,可以使用以下依赖: ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> <!-- MySQL JDBC驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>x.x.x</version> </dependency> <!-- 其他依赖... --> </dependencies> ``` 请将`x.x.x`替换为对应的版本号。 2. 在src/main/resources目录下创建一个名为`mybatis-config.xml`的文件,用于配置MyBatis。在该文件中,可以进行一些全局配置,例如数据库连接信息、别名等。以下是一个示例配置: ```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.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </environments> <!-- 其他配置... --> </configuration> ``` 根据实际情况,修改`driver`、`url`、`username`和`password`的值以适应你的数据库连接信息。 3. 在Maven的配置文件中添加MyBatis的插件,并指定MyBatis的配置文件路径。在pom.xml文件中,添加以下内容: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>x.x.x</version> <configuration> <configurationFile>src/main/resources/mybatis-config.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin> </plugins> </build> ``` 请将`x.x.x`替换为对应的版本号。 以上是在Maven项目中配置MyBatis的基本步骤。根据具体需求,还可以配置Mapper接口、Mapper映射文件等。在实际开发过程中,可能还需要进行更多的配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值