一个遍复制到另一个表 demo

 demo 1

// 查询topic表
List<FcProTopic> fcProTopics = fcProTopicMapper.selectFcProTopicList(fcProTopic);

//判断是否存在topic,如果不存在,从字典表中初始化
if(fcProTopic == null || fcProTopics.isEmpty()){
    fcProTopics = new ArrayList<>();
    FcProBasinfo fcProBasinfo = fcProBasinfoMapper.selectFcProBasinfoById(fcProTopic.getProid());

    List<FcProTopicDic> fcProTopicDics = fcProTopicDicMapper.selectFcProTopicDicList(null);
    for (FcProTopicDic fptdic:fcProTopicDics ) {
        FcProTopic fcProTopic1 = new FcProTopic();
        fcProTopic1.copyData(fptdic);
        fcProTopic1.setCreatedTime(new Date());
        fcProTopic1.setUpdatedTime(new Date());
        fcProTopic1.setRevision(1);
        String topPass = fptdic.getTopPass().replace("${productKey}",fcProBasinfo.getProductkey());
        fcProTopic1.setTopPass(topPass);
        fcProTopic1.setProid(fcProBasinfo.getProid()+"");
        fcProTopics.add(fcProTopic1);
        fcProTopicMapper.insertFcProTopic(fcProTopic1);
    }
}
return fcProTopics;

public void copyData(FcProTopicDic fcProTopicDic){
    this.setTopDesc(fcProTopicDic.getTopDesc());
    this.setTopAuth(fcProTopicDic.getTopAuth());
    this.setTopType(fcProTopicDic.getTopType());
    this.setTopPass(fcProTopicDic.getTopPass());
    this.setTopFunction(fcProTopicDic.getTopFunction());
}

demo 2 

List<Ad> adList = adMapper.findAd();
List<AdVo> adVoList = new ArrayList<>();
for (Ad ad :adList){
    AdVo adVo =  new AdVo();
    BeanUtils.copyProperties(ad,adVo);
    Page page = new Page();
    adVo.setPage(page);
    adVoList.add(adVo);
}
return adVoList;

 

1.import org.springframework.beans.BeanUtils
这个包下的BeanUtils.copyProperties(对象A,对象B),是将A的值复制到B

2.import org.apache.commons.beanutils.BeanUtils
这个包下的BeanUtils.copyProperties(对象A,对象B),是将B的值复制到A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的 Java demo,演示如何跨服务器将一个库的数据同步到另一个库: ```java import java.sql.*; public class DataSyncDemo { public static void main(String[] args) { // 源库连接信息 String srcUrl = "jdbc:mysql://localhost:3306/src_db"; String srcUser = "root"; String srcPassword = "123456"; // 目标库连接信息 String destUrl = "jdbc:mysql://192.168.1.100:3306/dest_db"; String destUser = "admin"; String destPassword = "password"; // 名和字段名 String tableName = "users"; String[] columnNames = { "id", "name", "age" }; Connection srcConn = null; Connection destConn = null; Statement srcStmt = null; PreparedStatement destStmt = null; ResultSet rs = null; try { // 连接源库 srcConn = DriverManager.getConnection(srcUrl, srcUser, srcPassword); srcStmt = srcConn.createStatement(); String sql = "SELECT * FROM " + tableName; rs = srcStmt.executeQuery(sql); // 连接目标库 destConn = DriverManager.getConnection(destUrl, destUser, destPassword); destStmt = destConn.prepareStatement( "INSERT INTO " + tableName + " (" + String.join(",", columnNames) + ") VALUES (?, ?, ?)" ); // 遍历源库结果集,插入到目标库 while (rs.next()) { for (int i = 0; i < columnNames.length; i++) { destStmt.setObject(i + 1, rs.getObject(columnNames[i])); } destStmt.addBatch(); } destStmt.executeBatch(); System.out.println("Data sync succeeded."); } catch (SQLException e) { e.printStackTrace(); } finally { try { rs.close(); srcStmt.close(); destStmt.close(); srcConn.close(); destConn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 这个 demo 连接了两个 MySQL 数据库,将源库中的 `users` 同步到了目标库中。需要根据实际情况修改连接信息、名和字段名等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值