总结:String类型与Int类型的转换【实现插入操作主键自增】

时间:2023-03-08 20:44:08

1、String类型(此类型是数字格式的字符串类型)转换成Int类型

  String str = "10000";

  转换成Int类型:

  int num = Integer.parseInt(str);

  得到的结果是:int类型的10000

2、int类型转换成String类型

  int n = 1000;

  n = n +1;

  String str = String.valueOf(n);

  // 或者另外一种转换方式:  String st = n +"";

  得到的结果是:String类型的字符串1001

  【在写插入操作时,主键的自动增长{先查询到主键的最大值,然后再进行自增,再格式的转换即可},主键的格式,格式的增长就会用到格式的转换】

比如:【格式的转换】

public class IntTest {
public static void main(String[] args) {
//由字符串格式转换数字格式
String s = "10000";
int a = Integer.parseInt(s);
a = a+1;
System.out.println("数字格式:"+a);//---得到的结果是:数字格式:10001
//然后通过数字格式转换成字符串格式
String str = String.valueOf(a);
System.out.println(a+"");
System.out.println("转换成字符串格式:"+str);//-----得到的结果是:转换成字符串格式:10001
}

  【主键的设置】当插入一条数据时,使得主键自动增长的样式进行,代码如下,且出现的问题总结如下:

  再相应的sqlMap.xml配置文件中写出“查找最大id值的sql语句”

<!-- 查询到最大的id值 -->
<select id="selectMaxId" resultType="java.lang.String">
select MAX(id) from fdx.dbo.[User]
</select>

 然后在dao接口中,具体写一个方法:查找到最大的id值,为了再插入的方法中调用,进而实现主键的自动增长

  

//查询最大id值
public String selectMaxId();

  然后再serviceImpl实现类中写出具体的实现方法:

	public void insertUser(User user) {
//调用方法,获取到最大的id值
String id = userDao.selectMaxId();
System.out.println("获取到的最大id值:"+id);
int num = Integer.parseInt(id);
num = num +1;
//将数字转换成字符串格式
String sid = String.valueOf(num);
//对主键id,出生日期(获取到当前系统的日期)进行设置;
user.setId(sid);
user.setBirth(new Date());
userDao.insert(user);
System.out.println("插入之后:测试成功");
}

  而此时,出现了异常

  总结:String类型与Int类型的转换【实现插入操作主键自增】

  所以要对得到的结果,进行去除空格处理:使用.trim()方法即可;

  

	public void insertUser(User user) {
//调用方法,获取到最大的id值
String id = userDao.selectMaxId();
System.out.println("获取到的最大id值:"+id);
int num = Integer.parseInt(id.trim());
          //再没有trim()方法时,出现异常;Integer.parseInt(str),参数只能是纯数字的组合才能转换,
          //所以使用trim()方法,进行去除一下空格;且得到的id值里面有空格的存在;
num = num +1;
//将数字转换成字符串格式
String sid = String.valueOf(num);
//对主键id,出生日期(获取到当前系统的日期)进行设置;
user.setId(sid);
user.setBirth(new Date());
userDao.insert(user);
System.out.println("插入之后:测试成功");
}

  添加.trim()方法之后,得到结果,实现了主键的自动增长;