Skip to content

Commit a857716

Browse files
install SQL Data
1 parent fd296dc commit a857716

File tree

9 files changed

+73
-4
lines changed

9 files changed

+73
-4
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.woehlke.beachbox.repository;
2+
3+
/**
4+
* Created by tw on 10.04.2014.
5+
*/
6+
public interface InstallDao {
7+
8+
void installInitialData();
9+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.woehlke.beachbox.repository;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.jdbc.core.JdbcTemplate;
5+
import org.springframework.stereotype.Repository;
6+
7+
import javax.sql.DataSource;
8+
import java.io.*;
9+
10+
/**
11+
* Created by tw on 10.04.2014.
12+
*/
13+
@Repository
14+
public class InstallDaoImpl implements InstallDao {
15+
16+
private JdbcTemplate jdbcTemplate;
17+
18+
@Autowired
19+
public void setDataSource(DataSource dataSource) {
20+
this.jdbcTemplate = new JdbcTemplate(dataSource);
21+
}
22+
23+
@Override
24+
public void installInitialData() {
25+
System.out.println("run SQL initial data import.");
26+
try {
27+
ClassLoader cl = InstallDaoImpl.class.getClassLoader();
28+
InputStream is = cl.getResourceAsStream("alle.sql");
29+
InputStreamReader isr =
30+
new InputStreamReader(is,"UTF-8");
31+
BufferedReader br = new BufferedReader(isr);
32+
jdbcTemplate.execute("delete from vinyl");
33+
br.lines().forEach(sql -> jdbcTemplate.execute(sql));
34+
br.close();
35+
} catch (FileNotFoundException e) {
36+
e.printStackTrace();
37+
} catch (IOException e) {
38+
e.printStackTrace();
39+
}
40+
}
41+
}

src/main/java/org/woehlke/beachbox/service/VinylService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ public interface VinylService {
1818
Vinyl save(Vinyl vinyl);
1919

2020
void deleteById(long id);
21+
22+
void installInitialData();
2123
}

src/main/java/org/woehlke/beachbox/service/VinylServiceImpl.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.springframework.transaction.annotation.Propagation;
77
import org.springframework.transaction.annotation.Transactional;
88
import org.woehlke.beachbox.entities.Vinyl;
9+
import org.woehlke.beachbox.repository.InstallDao;
910
import org.woehlke.beachbox.repository.VinylRepository;
1011

1112
import javax.inject.Inject;
@@ -20,6 +21,9 @@ public class VinylServiceImpl implements VinylService {
2021
@Inject
2122
private VinylRepository vinylRepository;
2223

24+
@Inject
25+
private InstallDao installDao;
26+
2327
@Override
2428
public Page<Vinyl> findAll(Pageable pageable) {
2529
return vinylRepository.findAll(pageable);
@@ -46,4 +50,9 @@ public Vinyl save(Vinyl vinyl) {
4650
public void deleteById(long id) {
4751
vinylRepository.delete(id);
4852
}
53+
54+
@Override
55+
public void installInitialData() {
56+
installDao.installInitialData();
57+
}
4958
}

src/main/java/org/woehlke/beachbox/web/VinylController.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public String deleteGet(@PathVariable long id, Model model){
163163
}
164164

165165
@RequestMapping(value = "/unlockEdit", method = RequestMethod.GET)
166-
public String getAll(Model model){
166+
public String unlockEdit(Model model){
167167
SessionBean searchItem = (SessionBean) model.asMap().get("searchItem");
168168
searchItem.setBearbeiten(true);
169169
model.addAttribute("searchItem",searchItem);
@@ -177,4 +177,10 @@ public String getAll(Model model){
177177
}
178178
return "redirect:/"+pageInfo;
179179
}
180+
181+
@RequestMapping(value = "/install", method = RequestMethod.GET)
182+
public String install(Model model){
183+
vinylService.installInitialData();
184+
return "redirect:/";
185+
}
180186
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
javax.persistence.jdbc.driver=com.mysql.jdbc.Driver
22
javax.persistence.jdbc.username=beachbox
33
javax.persistence.jdbc.password=beachboxpwd
4-
javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/beachbox
5-
hibernate.hbm2ddl.auto=create
4+
javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/beachbox?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
5+
hibernate.hbm2ddl.auto=update

src/main/resources/root-context.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ http://www.springframework.org/schema/data/repository/spring-repository.xsd">
4747
<prop key="hibernate.generate_statistics">true</prop>
4848
<prop key="jpa.showSql">false</prop>
4949
<prop key="jpa.database">MYSQL</prop>
50+
<prop key="hibernate.connection.useUnicode">true</prop>
51+
<prop key="hibernate.connection.characterEncoding">UTF-8</prop>
5052
</props>
5153
</property>
5254
</bean>

src/main/webapp/WEB-INF/views/all.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104
<tr>
105105
<c:url var="editUrl" value="/edit"/>
106106
<c:url var="deleteUrl" value="/delete"/>
107-
<td><a href="${editUrl}/${v.id}" title="id">${v.id}</a></td>
107+
<td>${v.id}</td>
108108
<td>${v.rubrik}</td>
109109
<td>${v.tontraeger}</td>
110110
<td>${v.interpret}</td>

0 commit comments

Comments
 (0)