🌺个人主页:杨永杰825_Spring,Mysql,多线程-CSDN博客
🎉相关链接:Mybatis当实体类中的属性名和表中的字段名不一样 怎么办?-CSDN博客
?每日一句:成为架构师路途遥远
📢欢迎大家:关注🔍+点赞👍+评论📝+收藏??
目录
1.添加MyBatis和Spring Boot MyBatis的依赖:
- MyBatis是一种开源的ORM(对象关系映射)框架,它提供了一种将数据库表的数据映射到对象的方式,使得通过Java编程语言来访问数据库变得更加方便和简单。
- MyBatis最初是在Sun公司的Java Persistence API(JPA)标准之前开发的,因此它采用了一种不同的方式来处理数据库操作。在MyBatis中,SQL语句是直接编写的,而不是使用ORM框架自动生成的。
MyBatis的优点是:
灵活性:MyBatis提供了广泛的ORM操作,包括查询、更新、插入和删除等,使得开发人员可以根据具体的需求进行操作。
性能:由于MyBatis使用原生SQL语句,因此它可以提供更高的性能和更好的控制能力。
易于使用:MyBatis具有简单且直观的API,使得开发人员可以轻松地使用它来处理数据库操作。
可定制性:MyBatis允许开发人员自定义各种插件和扩展,以满足不同的需求。
总之,MyBatis是一种强大且灵活的ORM框架,它提供了简单的API和高性能的数据库操作,使得开发人员可以更加轻松地处理数据库操作。
下面是一个简单的使用MyBatis进行数据库操作的案例:
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方法
}
<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>
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>
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,我们可以轻松地进行数据库的查询、插入、更新和删除等操作。
在Spring Boot中集成MyBatis非常简单。下面是一个简单的步骤:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
在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
创建对应的实体类和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);
}
在resources目录下创建一个mybatis-config.xml文件,用于配置MyBatis的一些设置,例如:
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
在Spring Boot的启动类上添加@MapperScan注解,用于扫描Mapper接口,例如:
@SpringBootApplication
@MapperScan("com.example.mappers")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在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的注解和自动配置,我们可以更加方便地进行数据库操作。