我不同意楼上两位的观点,这个也是分场合的,比如仅仅是图片不是像其他的几十兆的甚至几百兆的完全可以直接存数据库,比如你的网站会员有10万。用文件夹管理这10万会员的图片?万一有人不小心移动图片位置或者被删除之类的情况会很难处理,再说效率有有谁真的试过呢?jpa跟spring整合的时候,如果是spring3.1版本以下是需要设置一个lobhandler的bean。这里面会有默认的lobhandler以及专为oracle 9i的设置,具体的你搜索spring lobhandler。如果是spring3.1就不需要任何的配置的,比如private byte[] image.其上加注解@Basic @Lob.然后直接调用dao或者repository的save(entity)就能存储了当然你的byte[]得是从文件转来的,至于显示如果是struts2最简单的就是使用类型为stream的result type。如果是spring mvc注解@ResponseBody.具体的代码有点多也不可能直接写在这里我现在上班晚上回去拷贝一份给你。各种实现方法的都有。
一般不会这样搞,都是保存文件路径,在数据库里只存一个图片名,取出来的时候拼接一个完整路径,图片是个二进制文件,你把图片存到数据库,访问数据库的时候要用流的形式来接收图片,效率太低。
一般Java都不会把图片存到数据库中,大部分都是数据库存图片路径,图片放在工程本地。