MyBatis-ORM介绍

2023-12-27 09:22:16

🌺个人主页:杨永杰825_Spring,Mysql,多线程-CSDN博客

🎉相关链接:Mybatis当实体类中的属性名和表中的字段名不一样 怎么办?-CSDN博客

?每日一句:成为架构师路途遥远

📢欢迎大家:关注🔍+点赞👍+评论📝+收藏??

目录

前言

优点

案例

1.创建数据库表和实体类:

2.配置MyBatis的XML文件:

3.创建UserMapper接口和对应的XML文件:

4.使用MyBatis进行数据库操作:

扩展

Springboot集成MyBatis

1.添加MyBatis和Spring Boot MyBatis的依赖:

2.配置数据库连接信息:

3.创建实体类和Mapper接口:

4.配置MyBatis的XML文件:

5.启动类添加@MapperScan注解:

6.使用MyBatis进行数据库操作:


前言

  • MyBatis是一种开源的ORM(对象关系映射)框架,它提供了一种将数据库表的数据映射到对象的方式,使得通过Java编程语言来访问数据库变得更加方便和简单。
  • MyBatis最初是在Sun公司的Java Persistence API(JPA)标准之前开发的,因此它采用了一种不同的方式来处理数据库操作。在MyBatis中,SQL语句是直接编写的,而不是使用ORM框架自动生成的。

优点

MyBatis的优点是:

  1. 灵活性:MyBatis提供了广泛的ORM操作,包括查询、更新、插入和删除等,使得开发人员可以根据具体的需求进行操作。

  2. 性能:由于MyBatis使用原生SQL语句,因此它可以提供更高的性能和更好的控制能力。

  3. 易于使用:MyBatis具有简单且直观的API,使得开发人员可以轻松地使用它来处理数据库操作。

  4. 可定制性:MyBatis允许开发人员自定义各种插件和扩展,以满足不同的需求。

总之,MyBatis是一种强大且灵活的ORM框架,它提供了简单的API和高性能的数据库操作,使得开发人员可以更加轻松地处理数据库操作。

案例

下面是一个简单的使用MyBatis进行数据库操作的案例:

1.创建数据库表和实体类:

CREATE TABLE users (
    id INT PRIMARY KEY,
    username VARCHAR(50),
    password VARCHAR(50)
);
public class User {
    private int id;
    private String username;
    private String password;

    // 省略getter和setter方法
}

2.配置MyBatis的XML文件:

<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/test" />
                <property name="username" value="root" />
                <property name="password" value="password" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="com/example/mappers/UserMapper.xml" />
    </mappers>
</configuration>

3.创建UserMapper接口和对应的XML文件:

public interface UserMapper {
    User getUserById(int id);
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}
<mapper namespace="com.example.mappers.UserMapper">
    <select id="getUserById" resultType="com.example.model.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
    
    <insert id="insertUser">
        INSERT INTO users (id, username, password)
        VALUES (#{id}, #{username}, #{password})
    </insert>
    
    <update id="updateUser">
        UPDATE users SET username = #{username}, password = #{password}
        WHERE id = #{id}
    </update>
    
    <delete id="deleteUser">
        DELETE FROM users WHERE id = #{id}
    </delete>
</mapper>

4.使用MyBatis进行数据库操作:

public class Main {
    public static void main(String[] args) {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        // 查询用户
        User user = userMapper.getUserById(1);
        System.out.println(user.getUsername());

        // 插入用户
        User newUser = new User();
        newUser.setId(2);
        newUser.setUsername("test");
        newUser.setPassword("123456");
        userMapper.insertUser(newUser);
        
        sqlSession.commit(); // 提交事务
        
        sqlSession.close();
    }
}

这是一个简单的使用MyBatis进行数据库操作的案例。通过配置和使用MyBatis的API,我们可以轻松地进行数据库的查询、插入、更新和删除等操作。

扩展

Springboot集成MyBatis

在Spring Boot中集成MyBatis非常简单。下面是一个简单的步骤:

1.添加MyBatis和Spring Boot MyBatis的依赖:
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
2.配置数据库连接信息:

在application.properties或application.yml文件中添加数据库连接信息,例如:

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.创建实体类和Mapper接口:

创建对应的实体类和Mapper接口,例如:

public class User {
    private int id;
    private String username;
    private String password;

    // getter和setter方法
}

@Mapper
public interface UserMapper {
    User getUserById(int id);
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}
4.配置MyBatis的XML文件:

在resources目录下创建一个mybatis-config.xml文件,用于配置MyBatis的一些设置,例如:

<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>
5.启动类添加@MapperScan注解:

在Spring Boot的启动类上添加@MapperScan注解,用于扫描Mapper接口,例如:

@SpringBootApplication
@MapperScan("com.example.mappers")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
6.使用MyBatis进行数据库操作:

在Service或Controller中使用@Autowired注解将Mapper接口注入,然后就可以使用MyBatis进行数据库操作了,例如:

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public User getUserById(int id) {
        return userMapper.getUserById(id);
    }

    public void insertUser(User user) {
        userMapper.insertUser(user);
    }

    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    public void deleteUser(int id) {
        userMapper.deleteUser(id);
    }
}

这样就完成了Spring Boot与MyBatis的集成。通过配置和使用Spring Boot MyBatis的注解和自动配置,我们可以更加方便地进行数据库操作。

文章来源:https://blog.csdn.net/qq_31536117/article/details/135193532
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。