如果使用Hibernate框架,Java类型和数据库类型的映射可以通过配置文件进行。
如果使用JDBC,那就必须自己弄明白映射的过程了。
其实过程也很简单:
JDBC给我们提供了一个java.sql.Array类,我们可以使用java.sql.Connection对象创建Array类,来完成Java数组和Array类的映射。
比如我的数据表中有一个formats的字段,存储格式是Array。现在我要将Java的数组中数据写入到数据库的formats字段中,该怎么做?
下面先给出代码:
Array formatArray = dbConnection.createArrayOf("varchar", paramMeta.getFormats());
pStatement.setArray(6, formatArray);
dbConnection是java.sql.Connection对象,pStatement是java.sql.PreparedStatement对象。
createArrayOf方法的第一个参数是数组中数据的类型,第二个参数就是java中的数组。通过createArrayOf方法创建Array对象,然后利用PreparedStatement对象的setArray方法,进行数据库的操作。
这就是Java数组和数据库中Array类型的映射方法。