鱼C论坛

 找回密码
 立即注册
查看: 268|回复: 3

[已解决]请问有没有详细的mybatis教学

[复制链接]
发表于 2024-1-2 01:58:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 mumei2018 于 2024-1-2 02:00 编辑

JDBC已经跑动了 可是mybatis怎么都弄不好

请问有没有详细的mybatis教学 一步一步手把手教的那种
最佳答案
2024-1-2 01:59:56
当然有!MyBatis是一种持久层框架,它可以简化数据库访问的工作,提供了强大的SQL映射能力。下面我将为你提供详细的MyBatis教学。

首先,你需要在项目中引入MyBatis的依赖。如果你使用Maven进行项目管理,可以在pom.xml文件中添加如下依赖:

  1. <dependencies>
  2.     <!-- MyBatis -->
  3.     <dependency>
  4.         <groupId>org.mybatis</groupId>
  5.         <artifactId>mybatis</artifactId>
  6.         <version>3.5.7</version>
  7.     </dependency>
  8.     <!-- JDBC驱动 -->
  9.     <dependency>
  10.         <groupId>com.mysql</groupId>
  11.         <artifactId>mysql-connector-java</artifactId>
  12.         <version>8.0.26</version>
  13.     </dependency>
  14. </dependencies>
复制代码


接下来,需要创建一个MyBatis的配置文件mybatis-config.xml。这个文件包含了MyBatis的配置信息,例如数据库连接信息、Mapper映射文件位置等。示例配置如下:

  1. <!-- mybatis-config.xml -->
  2. <configuration>
  3.     <environments default="development">
  4.         <environment id="development">
  5.             <transactionManager type="JDBC"/>
  6.             <dataSource type="POOLED">
  7.                 <property name="driver" value="com.mysql.jdbc.Driver"/>
  8.                 <property name="url" value="jdbc:mysql://localhost:3306/test"/>
  9.                 <property name="username" value="root"/>
  10.                 <property name="password" value="123456"/>
  11.             </dataSource>
  12.         </environment>
  13.     </environments>
  14.     <mappers>
  15.         <mapper resource="com/example/mapper/UserMapper.xml"/>
  16.     </mappers>
  17. </configuration>
复制代码


在配置文件中,你需要根据你的数据库情况修改数据库连接信息。

然后,你需要创建一个Mapper接口,用于定义数据库操作的方法。例如,我们创建一个UserMapper接口,用于操作用户表:

  1. public interface UserMapper {
  2.     User getUser(int id);
  3.     List<User> getAllUsers();
  4.     void addUser(User user);
  5.     void updateUser(User user);
  6.     void deleteUser(int id);
  7. }
复制代码


注意,这里的方法名要和Mapper映射文件中的SQL语句的id保持一致。

最后,你需要创建一个Mapper映射文件UserMapper.xml,该文件中包含了SQL语句和方法的映射关系。示例内容如下:

  1. <!-- UserMapper.xml -->
  2. <mapper namespace="com.example.mapper.UserMapper">
  3.     <select id="getUser" resultType="com.example.model.User">
  4.         SELECT * FROM user WHERE id = #{id}
  5.     </select>
  6.     <select id="getAllUsers" resultType="com.example.model.User">
  7.         SELECT * FROM user
  8.     </select>
  9.     <insert id="addUser">
  10.         INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
  11.     </insert>
  12.     <update id="updateUser">
  13.         UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
  14.     </update>
  15.     <delete id="deleteUser">
  16.         DELETE FROM user WHERE id=#{id}
  17.     </delete>
  18. </mapper>
复制代码


注意,这里的namespace要和Mapper接口的包路径+接口名保持一致。

现在,你可以使用MyBatis进行数据库操作了。首先,创建一个SqlSessionFactory对象:

  1. InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  2. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
复制代码


然后,通过SqlSessionFactory对象创建一个SqlSession对象:

  1. SqlSession sqlSession = sqlSessionFactory.openSession();
复制代码


接下来,你就可以使用Mapper接口中定义的方法进行数据库操作了。例如,获取所有用户信息:

  1. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  2. List<User> userList = userMapper.getAllUsers();
复制代码


最后,别忘了提交事务和关闭SqlSession对象:

  1. sqlSession.commit();
  2. sqlSession.close();
复制代码


以上就是一个简单的MyBatis教学,希望对你有所帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-2 01:59:56 | 显示全部楼层    本楼为最佳答案   
当然有!MyBatis是一种持久层框架,它可以简化数据库访问的工作,提供了强大的SQL映射能力。下面我将为你提供详细的MyBatis教学。

首先,你需要在项目中引入MyBatis的依赖。如果你使用Maven进行项目管理,可以在pom.xml文件中添加如下依赖:

  1. <dependencies>
  2.     <!-- MyBatis -->
  3.     <dependency>
  4.         <groupId>org.mybatis</groupId>
  5.         <artifactId>mybatis</artifactId>
  6.         <version>3.5.7</version>
  7.     </dependency>
  8.     <!-- JDBC驱动 -->
  9.     <dependency>
  10.         <groupId>com.mysql</groupId>
  11.         <artifactId>mysql-connector-java</artifactId>
  12.         <version>8.0.26</version>
  13.     </dependency>
  14. </dependencies>
复制代码


接下来,需要创建一个MyBatis的配置文件mybatis-config.xml。这个文件包含了MyBatis的配置信息,例如数据库连接信息、Mapper映射文件位置等。示例配置如下:

  1. <!-- mybatis-config.xml -->
  2. <configuration>
  3.     <environments default="development">
  4.         <environment id="development">
  5.             <transactionManager type="JDBC"/>
  6.             <dataSource type="POOLED">
  7.                 <property name="driver" value="com.mysql.jdbc.Driver"/>
  8.                 <property name="url" value="jdbc:mysql://localhost:3306/test"/>
  9.                 <property name="username" value="root"/>
  10.                 <property name="password" value="123456"/>
  11.             </dataSource>
  12.         </environment>
  13.     </environments>
  14.     <mappers>
  15.         <mapper resource="com/example/mapper/UserMapper.xml"/>
  16.     </mappers>
  17. </configuration>
复制代码


在配置文件中,你需要根据你的数据库情况修改数据库连接信息。

然后,你需要创建一个Mapper接口,用于定义数据库操作的方法。例如,我们创建一个UserMapper接口,用于操作用户表:

  1. public interface UserMapper {
  2.     User getUser(int id);
  3.     List<User> getAllUsers();
  4.     void addUser(User user);
  5.     void updateUser(User user);
  6.     void deleteUser(int id);
  7. }
复制代码


注意,这里的方法名要和Mapper映射文件中的SQL语句的id保持一致。

最后,你需要创建一个Mapper映射文件UserMapper.xml,该文件中包含了SQL语句和方法的映射关系。示例内容如下:

  1. <!-- UserMapper.xml -->
  2. <mapper namespace="com.example.mapper.UserMapper">
  3.     <select id="getUser" resultType="com.example.model.User">
  4.         SELECT * FROM user WHERE id = #{id}
  5.     </select>
  6.     <select id="getAllUsers" resultType="com.example.model.User">
  7.         SELECT * FROM user
  8.     </select>
  9.     <insert id="addUser">
  10.         INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
  11.     </insert>
  12.     <update id="updateUser">
  13.         UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
  14.     </update>
  15.     <delete id="deleteUser">
  16.         DELETE FROM user WHERE id=#{id}
  17.     </delete>
  18. </mapper>
复制代码


注意,这里的namespace要和Mapper接口的包路径+接口名保持一致。

现在,你可以使用MyBatis进行数据库操作了。首先,创建一个SqlSessionFactory对象:

  1. InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  2. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
复制代码


然后,通过SqlSessionFactory对象创建一个SqlSession对象:

  1. SqlSession sqlSession = sqlSessionFactory.openSession();
复制代码


接下来,你就可以使用Mapper接口中定义的方法进行数据库操作了。例如,获取所有用户信息:

  1. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  2. List<User> userList = userMapper.getAllUsers();
复制代码


最后,别忘了提交事务和关闭SqlSession对象:

  1. sqlSession.commit();
  2. sqlSession.close();
复制代码


以上就是一个简单的MyBatis教学,希望对你有所帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-2 02:02:02 | 显示全部楼层
FishC 发表于 2024-1-2 01:59
当然有!MyBatis是一种持久层框架,它可以简化数据库访问的工作,提供了强大的SQL映射能力。下面我将为你提 ...

可是我使用的jar包是8.2.0版本的 文件名如下mysql-connector-j-8.2.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-2 02:02:24 | 显示全部楼层
mumei2018 发表于 2024-01-02 02:02
可是我使用的jar包是8.2.0版本的 文件名如下mysql-con ...


非常抱歉,我之前给出的代码中使用了错误的MySQL驱动版本。对于你使用的MySQL Connector/J 8.2.0版本的jar包,你只需要将其引入项目中即可正常使用。在pom.xml文件中添加如下依赖:
  1. <dependency>
  2.     <groupId>mysql</groupId>
  3.     <artifactId>mysql-connector-java</artifactId>
  4.     <version>8.2.0</version>
  5. </dependency>
复制代码

或者如果你不使用Maven进行项目管理,可以把mysql-connector-java-8.2.0.jar文件直接拷贝到项目的lib目录下。

另外,在mybatis-config.xml配置文件中,你需要修改数据库连接信息,将driver、url、username和password属性的值改为你自己的数据库信息。

希望这次的回答能够帮助到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 21:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表