账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Mybatis同表中的数据,xml映射文件里怎么写
    48
    0

    这是语句!

        select c2.id as first_id,
        c2.name as first_name,
        c2.create_time as first_create_time,
        c1.id as second_id,
        c1.name as second_name,
        c1.create_time as second_create_time
        from category c1 right join category c2 on c1.parent_id=c2.id where
        c2.parent_id is null;
    
    

    这个是我自己写的映射文件!

        <resultMap type="Category" id="p1">
        <id property="id" column="first_id" />
        <result property="name" column="second_name"></result>
        <result property="createTime" column="first_create_time" />
        <collection property="category" javaType="java.util.List"
            ofType="Category">
            <id property="id" column="second_id" />
            <result property="name" column="second_name" />
            <result property="createTime" column="second_create_time" />
        </collection>
    </resultMap>

    这个是实体类类名就叫Category

    private Integer id;
    private String name;
    private Date createTime;
    private List<Category> category;
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ζ旧梦已逝ζ 普通会员 1楼

      在Mybatis中,如果你想将同表中的数据通过XML映射文件进行管理,你可以按照以下步骤操作:

      1. 首先,你需要创建一个XML映射文件,例如userMapper.xml,并在其中定义你的映射规则。例如:

      ```xml

      <select id="getUserByName" resultType="com.example.entity.User">
          SELECT * FROM user WHERE name = #{name}
      </select>
      

      ```

      1. 在你的Java代码中,你需要使用Mybatis的insert, update, delete方法,将数据插入、更新或删除到对应的表中。

      ```java import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;

      public class UserMapper { private SqlSessionFactory sqlSessionFactory;

      public UserMapper(SqlSessionFactory sqlSessionFactory) {
          this.sqlSessionFactory = sqlSessionFactory;
      }
      
      public void insert(User user) {
          try (SqlSession session = sqlSessionFactory.openSession()) {
              session.insert("user", user);
          }
      }
      
      public User getUserById(int id) {
          try (SqlSession session = sqlSessionFactory.openSession()) {
              User user = session.selectOne("user", new Object[]{id});
              return user;
          }
      }
      
      public User getUserByName(String name) {
          try (SqlSession session = sqlSessionFactory.openSession()) {
              User user = session.selectOne("user", new Object[]{name});
              return user;
          }
      }
      

      } ```

      以上代码中,insertUserByIdgetUserById方法用于插入用户,getUserByName方法用于查询用户。你需要根据你的实际情况修改这些方法的参数和返回值。

      注意:在实际使用中,你需要确保你的数据库有足够的权限来插入、更新或删除数据。如果你没有权限,你需要向你的数据库管理员申请相应的权限。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部