鱼C论坛

 找回密码
 立即注册
查看: 479|回复: 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文件中添加如下依赖:
<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
    <!-- JDBC驱动 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
</dependencies>

接下来,需要创建一个MyBatis的配置文件mybatis-config.xml。这个文件包含了MyBatis的配置信息,例如数据库连接信息、Mapper映射文件位置等。示例配置如下:
<!-- mybatis-config.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="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

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

然后,你需要创建一个Mapper接口,用于定义数据库操作的方法。例如,我们创建一个UserMapper接口,用于操作用户表:
public interface UserMapper {
    User getUser(int id);
    List<User> getAllUsers();
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}

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

最后,你需要创建一个Mapper映射文件UserMapper.xml,该文件中包含了SQL语句和方法的映射关系。示例内容如下:
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUser" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM user
    </select>
    <insert id="addUser">
        INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
    </insert>
    <update id="updateUser">
        UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
    </update>
    <delete id="deleteUser">
        DELETE FROM user WHERE id=#{id}
    </delete>
</mapper>

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

现在,你可以使用MyBatis进行数据库操作了。首先,创建一个SqlSessionFactory对象:
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

然后,通过SqlSessionFactory对象创建一个SqlSession对象:
SqlSession sqlSession = sqlSessionFactory.openSession();

接下来,你就可以使用Mapper接口中定义的方法进行数据库操作了。例如,获取所有用户信息:
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = userMapper.getAllUsers();

最后,别忘了提交事务和关闭SqlSession对象:
sqlSession.commit();
sqlSession.close();

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

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

使用道具 举报

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

首先,你需要在项目中引入MyBatis的依赖。如果你使用Maven进行项目管理,可以在pom.xml文件中添加如下依赖:
<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
    <!-- JDBC驱动 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
</dependencies>

接下来,需要创建一个MyBatis的配置文件mybatis-config.xml。这个文件包含了MyBatis的配置信息,例如数据库连接信息、Mapper映射文件位置等。示例配置如下:
<!-- mybatis-config.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="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

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

然后,你需要创建一个Mapper接口,用于定义数据库操作的方法。例如,我们创建一个UserMapper接口,用于操作用户表:
public interface UserMapper {
    User getUser(int id);
    List<User> getAllUsers();
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}

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

最后,你需要创建一个Mapper映射文件UserMapper.xml,该文件中包含了SQL语句和方法的映射关系。示例内容如下:
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getUser" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM user
    </select>
    <insert id="addUser">
        INSERT INTO user (id, name, age) VALUES (#{id}, #{name}, #{age})
    </insert>
    <update id="updateUser">
        UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
    </update>
    <delete id="deleteUser">
        DELETE FROM user WHERE id=#{id}
    </delete>
</mapper>

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

现在,你可以使用MyBatis进行数据库操作了。首先,创建一个SqlSessionFactory对象:
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

然后,通过SqlSessionFactory对象创建一个SqlSession对象:
SqlSession sqlSession = sqlSessionFactory.openSession();

接下来,你就可以使用Mapper接口中定义的方法进行数据库操作了。例如,获取所有用户信息:
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = userMapper.getAllUsers();

最后,别忘了提交事务和关闭SqlSession对象:
sqlSession.commit();
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文件中添加如下依赖:
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.2.0</version>
</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-11-21 19:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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